Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Python (langage)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Python_(langage)"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.timeline.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Python_langage rootpage-Python_langage skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Python (langage)</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr">
<p class="mw-empty-elt">
</p>
<table class="infobox_v2 infobox infobox--frwiki noarchive">
<tbody><tr>
<td colspan="2" class="entete informatique" style="background-color:#3B78A7;color:black;"><span style="color: #fff;">Python</span><style data-mw-deduplicate="TemplateStyles:r228712691">
/* start https://fr.wikipedia.org/ */


.mw-parser-output .entete.informatique{background-image:url("./_mw_/Picto.nfo.png")}


/* end https://fr.wikipedia.org/ */
</style>
</td></tr>
<tr><td colspan="3" style="text-align:center; line-height: 1.5em;"> </td></tr>
<tr>
<td colspan="3" style="text-align:center; line-height: 1.5em;"> </td></tr>
<tr>
<td colspan="2"><hr style="height:2px; color:inherit; background-color:#3B78A7;"></td></tr>
<tr>
<th scope="row">Date de première version
</th>
<td><time class="nowrap" datetime="1991-02-20" data-sort-value="1991-02-20">20 février 1991</time>, <span data-sort-value="&amp;0000000000012674" class="datasortkey">34&nbsp;ans</span><sup id="cite_ref-blogspot2009-01_1-0" class="reference"><a href="#cite_note-blogspot2009-01-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</td>
</tr>
<tr>

<th scope="row"><a href="Paradigme_(programmation)" title="Paradigme (programmation)">Paradigmes</a>
</th>
<td><a href="Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">Objet</a>, <a href="Programmation_imp%C3%A9rative" title="Programmation impérative">impératif</a> et <a href="Programmation_fonctionnelle" title="Programmation fonctionnelle">fonctionnel</a>
</td>
</tr>
<tr>
<th scope="row">Auteur
</th>
<td><a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a>
</td>
</tr>
<tr>


<th scope="row">Développeurs
</th>
<td><a href="Python_Software_Foundation" title="Python Software Foundation">Python Software Foundation</a>
</td>
</tr>
<tr>
<th scope="row"><a href="Version_d'un_logiciel" title="Version d'un logiciel">Dernière version</a>
</th>
<td><span class="wd_p348">3.14.0 (<time class="nowrap date-lien" datetime="2025-10-07" data-sort-value="2025-10-07"><a href="7_octobre" title="7 octobre">7</a> <a href="Octobre_2025" title="Octobre 2025">octobre</a> <a href="2025" title="2025">2025</a></time>)<sup id="cite_ref-wikidata-46d964ee77a14578499336e360a25db5b1b71f5d_2-1" class="reference"><a href="#cite_note-wikidata-46d964ee77a14578499336e360a25db5b1b71f5d-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-wikidata-f847463ef186429c62f89b2f30668cacf753e770_3-1" class="reference"><a href="#cite_note-wikidata-f847463ef186429c62f89b2f30668cacf753e770-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></span>
</td>
</tr>
<tr>
<th scope="row"><a href="Version_d'un_logiciel" title="Version d'un logiciel">Version en développement</a>
</th>
<td><span class="wd_p348">3.14.0a6 (<time class="nowrap date-lien" datetime="2025-03-14" data-sort-value="2025-03-14"><a href="14_mars" title="14 mars">14</a> <a href="Mars_2025" title="Mars 2025">mars</a> <a href="2025" title="2025">2025</a></time>)<sup id="cite_ref-wikidata-6ebc7e8f990bb4a2c7677fda314f507a16e33abd_4-0" class="reference"><a href="#cite_note-wikidata-6ebc7e8f990bb4a2c7677fda314f507a16e33abd-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><br>3.14.0rc3 (<time class="nowrap date-lien" datetime="2025-09-18" data-sort-value="2025-09-18"><a href="18_septembre" title="18 septembre">18</a> <a href="Septembre_2025" title="Septembre 2025">septembre</a> <a href="2025" title="2025">2025</a></time>)<sup id="cite_ref-wikidata-bff642fdf9ab5972b1a7292dc72cb1a0e1ffc85e_5-0" class="reference"><a href="#cite_note-wikidata-bff642fdf9ab5972b1a7292dc72cb1a0e1ffc85e-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-wikidata-9284980f0b3e119e4741ae3ee9b217fd2e6bdbd0_6-0" class="reference"><a href="#cite_note-wikidata-9284980f0b3e119e4741ae3ee9b217fd2e6bdbd0-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></span>
</td>
</tr>
<tr>
<th scope="row">Typage
</th>
<td><a href="Typage_fort" title="Typage fort">Fort</a>, <a href="Typage_dynamique" title="Typage dynamique">dynamique</a>, <a href="Duck_typing" title="Duck typing">duck typing</a>
</td>
</tr>
<tr>


<th scope="row">Influencé par
</th>
<td><a href="ABC_(langage)" title="ABC (langage)">ABC</a>, <a href="C_(langage)" title="C (langage)">C</a>, <a href="Eiffel_(langage)" title="Eiffel (langage)">Eiffel</a>, <a href="ICON" title="ICON">ICON</a>, <a href="Modula-3" class="mw-redirect" title="Modula-3">Modula-3</a>, <a href="Java_(langage)" title="Java (langage)">Java</a>, <a href="Perl_(langage)" title="Perl (langage)">Perl</a>, <a href="Smalltalk" title="Smalltalk">Smalltalk</a>, <a href="Tool_Command_Language" title="Tool Command Language">Tcl</a>
</td>
</tr>
<tr>
<th scope="row">A influencé
</th>
<td><a href="Ruby" title="Ruby">Ruby</a>, <a href="Groovy_(langage)" title="Groovy (langage)">Groovy</a>, <a href="Boo_(langage)" title="Boo (langage)">Boo</a>, <a href="Julia_(langage)" title="Julia (langage)">Julia</a>, <a href="Mojo_(langage_de_programmation)" title="Mojo (langage de programmation)">Mojo</a>
</td>
</tr>
<tr>
<th scope="row">Implémentations
</th>
<td><a href="CPython" title="CPython">CPython</a>, <a href="Jython" title="Jython">Jython</a>, <a href="IronPython" title="IronPython">IronPython</a>, <a href="PyPy" title="PyPy">PyPy</a>
</td>
</tr>
<tr>
<th scope="row"><a href="Langage_de_programmation" title="Langage de programmation">Écrit en</a>
</th>
<td><a href="C_(langage)" title="C (langage)">C</a> pour CPython, <a href="Java_(langage)" title="Java (langage)">Java</a> pour Jython, <a href="C_sharp" class="mw-redirect" title="C sharp">C#</a> pour IronPython et en Python lui-même pour PyPy
</td>
</tr>
<tr>
<th scope="row"><a href="Syst%C3%A8me_d'exploitation" title="Système d'exploitation">Système d'exploitation</a>
</th>
<td><a href="Logiciel_multiplateforme" title="Logiciel multiplateforme">Multiplateforme</a>
</td>
</tr>
<tr>

<th scope="row"><a href="Licence_de_logiciel" title="Licence de logiciel">Licence</a>
</th>
<td><a href="Licence_libre" title="Licence libre">Licence libre</a>&nbsp;:<br><a href="Python_Software_Foundation_License" title="Python Software Foundation License">Python Software Foundation License</a>
</td>
</tr>
<tr>
<th scope="row"><a href="Site_web" title="Site web">Site web</a>
</th>
<td><a rel="nofollow" class="external free" href="https://python.org/">https://python.org/</a>
</td>
</tr>
<tr>
<th scope="row"><a href="Extension_de_nom_de_fichier" title="Extension de nom de fichier">Extensions de fichiers</a>
</th>
<td>.py, .pyc, .pyd, .pyo
</td>
</tr>
<tr>

</tr>
</tbody></table>
<p><b>Python</b> (prononcé <span class="API nowrap" title="Alphabet phonétique international" style="font-family:'Segoe UI','DejaVu Sans','Lucida Grande','Lucida Sans Unicode','Arial Unicode MS','Hiragino Kaku Gothic Pro',sans-serif;">/<a href="API_p" class="mw-redirect" title="API p"><span title="[p] « p » dans « papa ».">p</span></a><a href="API_i" class="mw-redirect" title="API i"><span title="[i] « i » dans « si ».">i</span></a><a href="API_." class="mw-redirect" title="API ."><span title="[.] indique la séparation entre deux syllabes.">.</span></a><a href="API_t" class="mw-redirect" title="API t"><span title="[t] en français « t » dans « tous » ; ailleurs avec la langue un peu plus en arrière.">t</span></a><a href="API_%C9%94%CC%83" class="mw-redirect" title="API ɔ̃"><span title="[ɔ̃] « on » dans « son ».">ɔ̃</span></a>/</span>) est un <a href="Langage_de_programmation" title="Langage de programmation">langage de programmation</a> <a href="Interpr%C3%A8te_(informatique)" title="Interprète (informatique)">interprété</a>, <a href="Paradigme_(programmation)" title="Paradigme (programmation)">multiparadigme</a> et <a href="Plate-forme_(informatique)" class="mw-redirect" title="Plate-forme (informatique)">multiplateformes</a>. Il favorise la <a href="Programmation_imp%C3%A9rative" title="Programmation impérative">programmation impérative</a> <a href="Programmation_structur%C3%A9e" title="Programmation structurée">structurée</a>, <a href="Programmation_fonctionnelle" title="Programmation fonctionnelle">fonctionnelle</a> et <a href="Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">orientée objet</a>. Il est doté d'un <a href="Typage_dynamique" title="Typage dynamique">typage dynamique</a> <a href="Typage_fort" title="Typage fort">fort</a>, d'une gestion automatique de la <a href="M%C3%A9moire_vive" title="Mémoire vive">mémoire</a> par <a href="Ramasse-miettes_(informatique)" title="Ramasse-miettes (informatique)">ramasse-miettes</a> et d'un <a href="Syst%C3%A8me_de_gestion_d'exceptions" title="Système de gestion d'exceptions">système de gestion d'exceptions</a>&nbsp;; il est ainsi similaire à <a href="Perl_(langage)" title="Perl (langage)">Perl</a>, <a href="Ruby" title="Ruby">Ruby</a>, <a href="Scheme" title="Scheme">Scheme</a>, <a href="Smalltalk" title="Smalltalk">Smalltalk</a> et <a href="Tool_Command_Language" title="Tool Command Language">Tcl</a>.
</p><p>Le langage Python est placé sous une <a href="Licence_libre" title="Licence libre">licence libre</a> proche de la <a href="Licence_BSD" title="Licence BSD">licence BSD</a> et fonctionne sur la plupart des <a href="Plateforme_informatique" title="Plateforme informatique">plateformes informatiques</a>, des <a href="Smartphone" title="Smartphone">smartphones</a> aux <a href="Ordinateur_central" title="Ordinateur central">ordinateurs centraux</a>, de <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> à <a href="Unix" title="Unix">Unix</a> avec notamment <a href="Linux" title="Linux">GNU/Linux</a> en passant par <a href="MacOS" title="MacOS">macOS</a>, ou encore <a href="Android" title="Android">Android</a>, <a href="IOS" title="IOS">iOS</a>, et peut aussi être traduit en <a href="Java_(langage)" title="Java (langage)">Java</a> ou <a href="Microsoft_.NET" title="Microsoft .NET">.NET</a>. Il est conçu pour <a href="Optimisation_de_code" title="Optimisation de code">optimiser</a> la productivité des programmeurs en offrant des outils de <a href="Langage_de_programmation_de_haut_niveau" title="Langage de programmation de haut niveau">haut niveau</a> et une <a href="Syntaxe" title="Syntaxe">syntaxe</a> simple à utiliser.
</p>

<div class="mw-heading mw-heading2"><h2 id="Utilisation">Utilisation</h2></div>
<p>Python est un <a href="Langage_de_programmation" title="Langage de programmation">langage de programmation</a> qui peut s'utiliser dans de nombreux contextes grâce à des <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèques</a> spécialisées.
</p><p>Il est utilisé comme <a href="Langage_de_script" title="Langage de script">langage de script</a> pour <a href="Automatisme" title="Automatisme">automatiser</a> des tâches comme la récupération de la météo sur <a href="Internet" title="Internet">Internet</a> ou l'enchaînement d'actions en <a href="Conception_assist%C3%A9e_par_ordinateur" title="Conception assistée par ordinateur">conception assistée par ordinateur</a> (voir la section <a href="#Adoption_de_Python">Adoption</a>). On l'utilise également comme langage de développement de prototype lorsqu'on a besoin d'une application fonctionnelle avant de l'optimiser avec un langage <a href="Compilateur" title="Compilateur">compilé</a>. Il est particulièrement répandu dans le monde <a href="Scientifique" title="Scientifique">scientifique</a>, et possède des <a href="Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèques</a> optimisées pour le <a href="Calcul_num%C3%A9rique" title="Calcul numérique">calcul numérique</a><sup id="cite_ref-ZDNet2021-07-26_7-0" class="reference"><a href="#cite_note-ZDNet2021-07-26-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>.
</p><p>C'est l'un des langages utilisés dans le domaine du <a href="Big_data" title="Big data">big data</a><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>, de l'<a href="Informatique_quantique" title="Informatique quantique">informatique quantique</a><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> et de l'<a href="Intelligence_artificielle" title="Intelligence artificielle">intelligence artificielle</a> incluant l'<a href="Apprentissage_automatique" title="Apprentissage automatique">apprentissage automatique</a><sup id="cite_ref-ZDNet2021-07-26_7-1" class="reference"><a href="#cite_note-ZDNet2021-07-26-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-LMI2020-11-13_10-0" class="reference"><a href="#cite_note-LMI2020-11-13-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Python_à_l'école"><span id="Python_.C3.A0_l.27.C3.A9cole"></span>Python à l'école</h3></div>
<p>Python est apprécié par les <a href="P%C3%A9dagogie" title="Pédagogie">pédagogues</a> qui y trouvent un <a href="Langage_de_programmation" title="Langage de programmation">langage</a> où la syntaxe, clairement séparée des mécanismes de <a href="Langage_de_programmation_de_bas_niveau" title="Langage de programmation de bas niveau">bas niveau</a>, permet une <a href="Initiation" title="Initiation">initiation</a> aisée<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> aux concepts de base de la programmation<sup id="cite_ref-DowneyElknerMeyers20165._Introducing_programming_with_Python:_&quot;There_are_thirteen_paragraphs&quot;_12-0" class="reference"><a href="#cite_note-DowneyElknerMeyers20165._Introducing_programming_with_Python:_&quot;There_are_thirteen_paragraphs&quot;-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>.
</p><p>Cette initiation commence généralement au début du lycée en classe de seconde. Les élèves souhaitant approfondir le sujet peuvent choisir un enseignement de spécialité Numérique et sciences informatiques<sup id="cite_ref-tice2020-02-01_13-0" class="reference"><a href="#cite_note-tice2020-02-01-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> (NSI).
</p><p>Les calculatrices supportant Python<sup id="cite_ref-tice2020-02-01_13-1" class="reference"><a href="#cite_note-tice2020-02-01-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> destinées aux lycéens fonctionnent en Python 3. Ces calculatrices peuvent échanger des programmes avec des <a href="Ordinateurs_personnels" class="mw-redirect" title="Ordinateurs personnels">ordinateurs personnels</a>.
</p><p>14&nbsp;000 lycéens participent à la Nuit du code<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>, un challenge à partir de la classe de première NSI pour créer un jeu en 6 heures avec le moteur <code>Pyxel</code> de Python. À Berlin<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> et <a href="Lyc%C3%A9e_fran%C3%A7ais_international_de_Tokyo" title="Lycée français international de Tokyo">Tokyo</a><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>, les lycées français internationaux (LFI) participent à l'évènement.
</p><p>Au <a href="Lyc%C3%A9e_fran%C3%A7ais_international_Charles-de-Gaulle_de_P%C3%A9kin" title="Lycée français international Charles-de-Gaulle de Pékin">LFI de Pékin</a><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>, l'Heure de code est en langage graphique <a href="Scratch_(langage)" title="Scratch (langage)">Scratch</a> de puzzles colorés aimantés pour les collégiens ou en langage textuel Python pour les lycéens. <a href="Drew_Houston" title="Drew Houston">Drew Houston</a><sup id="cite_ref-numerama2014-12-04_18-0" class="reference"><a href="#cite_note-numerama2014-12-04-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> (<a href="Dropbox" title="Dropbox">Dropbox</a>), <a href="Mark_Zuckerberg" title="Mark Zuckerberg">Mark Zuckerberg</a><sup id="cite_ref-numerama2014-12-04_18-1" class="reference"><a href="#cite_note-numerama2014-12-04-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> (Meta), <a href="Bill_Gates" title="Bill Gates">Bill Gates</a><sup id="cite_ref-numerama2014-12-04_18-2" class="reference"><a href="#cite_note-numerama2014-12-04-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> (Microsoft) et <a href="Barack_Obama" title="Barack Obama">Barack Obama</a><sup id="cite_ref-numerama2014-12-04_18-3" class="reference"><a href="#cite_note-numerama2014-12-04-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> apportent leur soutient à Code.org&nbsp;<a href="https://en.wikipedia.org/wiki/Code.org" class="extiw external" title="en:Code.org"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Code.org&nbsp;»">(en)</span></a>, une <a href="Association_%C3%A0_but_non_lucratif" title="Association à but non lucratif">organisation à but non lucratif</a> à l'initiative de <i>Hour of code</i><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> et <i>Hour of AI</i>.
</p><p>En janvier-février, Passe ton hack<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> d'abord réunit 7&nbsp;000 lycéens en ligne pour capturer le drapeau&nbsp;<a href="https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)" class="extiw external" title="en:Capture the flag (cybersecurity)"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Capture the flag (cybersecurity)&nbsp;»">(en)</span></a> en programmant en Python<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> la détection d'une <a href="Injection_SQL" title="Injection SQL">injection SQL</a>, d'une <a href="Attaque_par_force_brute" title="Attaque par force brute">attaque par force brute</a> avec dictionnaire d'un mot de passe ou le décryptage d'un <a href="Chiffrement_par_d%C3%A9calage" title="Chiffrement par décalage">chiffrement par décalage</a> de César.
</p><p>Python est utilisé comme langage de programmation dans l'enseignement secondaire et supérieur, notamment en France<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>. Depuis 2013, il y est enseigné à tous les étudiants de <a href="Classes_pr%C3%A9paratoires_scientifiques" title="Classes préparatoires scientifiques">classes préparatoires scientifiques</a> dans le cadre du tronc commun (informatique commune). Auparavant, l'enseignement d'informatique était limité à une option en <a href="Classe_pr%C3%A9paratoire_math%C3%A9matiques_et_physique" title="Classe préparatoire mathématiques et physique">MP</a>, l'enseignement se faisant en langage <a href="Caml" title="Caml">Caml</a> ou <a href="Pascal_(langage)" title="Pascal (langage)">Pascal</a><sup id="cite_ref-infedu2024_23-0" class="reference"><a href="#cite_note-infedu2024-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>. Cette option existe toujours, mais Pascal a été abandonné à partir de la session 2015 des concours et Caml a, lui, été enlevé au profit de <a href="OCaml" title="OCaml">OCaml</a> dans cet enseignement. Les premières épreuves de concours portant sur le langage Python sont également celles de la session 2015<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Historique">Historique</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Au_CWI">Au CWI</h3></div>

<p>En 1982<sup id="cite_ref-inference2022-11_26-0" class="reference"><a href="#cite_note-inference2022-11-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>, au <a href="Centrum_voor_Wiskunde_en_Informatica" title="Centrum voor Wiskunde en Informatica">Centre pour les mathématiques et l'informatique</a> (CWI) d'<a href="Amsterdam" title="Amsterdam">Amsterdam</a>, aux <a href="Pays-Bas" title="Pays-Bas">Pays-Bas</a>, l'<a href="Informaticien" title="Informaticien">informaticien</a> <a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a> participe au développement du langage de programmation <a href="ABC_(langage)" title="ABC (langage)">ABC</a> conçu pour l'enseignement<sup id="cite_ref-lemonde2025-09-17_27-0" class="reference"><a href="#cite_note-lemonde2025-09-17-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>&nbsp;:<br><code>PUT "ABC" IN B</code> cible les débutants (<i>Beginners</i>) absolus<sup id="cite_ref-inference2022-11_26-1" class="reference"><a href="#cite_note-inference2022-11-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>.
</p><p>Il travaille alors dans l'équipe du <a href="Syst%C3%A8me_d'exploitation" title="Système d'exploitation">système d'exploitation</a> <a href="Amoeba_(syst%C3%A8me_d'exploitation)" title="Amoeba (système d'exploitation)">Amoeba</a> dont les <a href="Appel_syst%C3%A8me" title="Appel système">appels systèmes</a> sont difficilement interfaçables avec le <a href="Bourne_shell" title="Bourne shell">Bourne shell</a> utilisé comme <a href="Interface_utilisateur" title="Interface utilisateur">interface utilisateur</a>. Il estime alors qu'un langage de script inspiré d'ABC<sup id="cite_ref-infedu2024_23-1" class="reference"><a href="#cite_note-infedu2024-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> pourrait être intéressant comme <a href="Interpr%C3%A9teur_de_commandes" title="Interpréteur de commandes">interpréteur de commandes</a> pour Amoeba<sup id="cite_ref-FAQ1.2_28-0" class="reference"><a href="#cite_note-FAQ1.2-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>.
</p><p>En <a href="1989" title="1989">1989</a>, profitant d'une semaine de vacances durant les fêtes de <a href="No%C3%ABl" title="Noël">Noël</a>, il utilise son <a href="Ordinateur_personnel" title="Ordinateur personnel">ordinateur personnel</a><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> pour écrire la première version du langage. Fan de la <a href="S%C3%A9rie_t%C3%A9l%C3%A9vis%C3%A9e" title="Série télévisée">série télévisée</a> <i><a href="Monty_Python's_Flying_Circus" title="Monty Python's Flying Circus">Monty Python's Flying Circus</a></i>, il décide de baptiser ce projet Python<sup id="cite_ref-Lutz200917_30-0" class="reference"><a href="#cite_note-Lutz200917-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>. Il s'est principalement inspiré d'ABC, par exemple pour l'<a href="Indentation_comme_syntaxe" title="Indentation comme syntaxe">indentation comme syntaxe</a> ou les types de haut niveau mais aussi de <a href="Modula-3" class="mw-redirect" title="Modula-3">Modula-3</a> pour la <a href="Syst%C3%A8me_de_gestion_d'exceptions" title="Système de gestion d'exceptions">gestion des exceptions</a>, du <a href="C_(langage)" title="C (langage)">langage C</a> et des <a href="Unix" title="Unix">outils UNIX</a><sup id="cite_ref-Lutz2006XIX_31-0" class="reference"><a href="#cite_note-Lutz2006XIX-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>.
</p><p>Durant l'année suivante, le langage commence à être adopté par l'équipe du projet Amoeba, Guido poursuivant son développement principalement pendant son temps libre. Entre le <time datetime="1991-02-19" data-sort-value="1991-02-19">19</time><sup id="cite_ref-alt1991-02-19_32-0" class="reference"><a href="#cite_note-alt1991-02-19-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> et le <time class="nowrap" datetime="1991-02-20" data-sort-value="1991-02-20">20 février 1991</time><sup id="cite_ref-blogspot2009-01_1-1" class="reference"><a href="#cite_note-blogspot2009-01-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>, la première version publique, numérotée 0.9.0<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup>, immédiatement <a href="Patch_(informatique)" title="Patch (informatique)">patchée</a> en 0.9.1<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-alt1991-02-19_32-1" class="reference"><a href="#cite_note-alt1991-02-19-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>, est postée sur le forum <a href="Usenet" title="Usenet">Usenet</a><sup id="cite_ref-FAQ1.2_28-1" class="reference"><a href="#cite_note-FAQ1.2-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> alt.sources.
</p><p>La dernière version sortie au CWI est Python 1.2.
</p>
<div class="mw-heading mw-heading3"><h3 id="Au_CNRI">Au CNRI</h3></div>
<p>En <a href="1995" title="1995">1995</a>, van Rossum continue son travail sur Python à la Société pour les initiatives nationales de recherche&nbsp;<a href="https://en.wikipedia.org/wiki/Corporation_for_National_Research_Initiatives" class="extiw external" title="en:Corporation for National Research Initiatives"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Corporation for National Research Initiatives&nbsp;»">(en)</span></a><sup id="cite_ref-cnri-grail_35-0" class="reference"><a href="#cite_note-cnri-grail-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> à <a href="Reston_(Virginie)" title="Reston (Virginie)">Reston</a>, en <a href="Virginie_(%C3%89tats-Unis)" title="Virginie (États-Unis)">Virginie</a>, où il sort plusieurs versions du logiciel.
</p><p>Au CNRI, l'équipe Python travaille sur le <a href="Navigateur_web" title="Navigateur web">navigateur web</a> expérimental <i>Grail</i><sup id="cite_ref-cnri-grail_35-1" class="reference"><a href="#cite_note-cnri-grail-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> utilisant Tcl/<a href="Tk_(informatique)" title="Tk (informatique)">Tk</a>. Il est l'équivalent pour Python du navigateur <a href="HotJava" title="HotJava">HotJava</a>, permettant d'exécuter des <a href="Applet" title="Applet">applets</a> dans un environnement sécurisé<sup id="cite_ref-Lutz2006714_36-0" class="reference"><a href="#cite_note-Lutz2006714-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>. Il entraîne le développement de <a href="Plugin" title="Plugin">modules</a> pour la bibliothèque standard de gestion de <a href="HTML" class="mw-redirect" title="HTML">HTML</a>.
</p><p>En <a href="1999" title="1999">1999</a>, le projet <i>Computer Programming for Everybody</i><sup id="cite_ref-python1999-07-idle_37-0" class="reference"><a href="#cite_note-python1999-07-idle-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> (CP4E) est lancé conjointement entre le CNRI et la <a href="Defense_Advanced_Research_Projects_Agency" title="Defense Advanced Research Projects Agency">DARPA</a>. Il s'agit d'utiliser Python comme un langage d'enseignement de la <a href="Programmation_informatique" title="Programmation informatique">programmation</a>. Cette initiative conduira à la création de l'<a href="Environnement_de_d%C3%A9veloppement" title="Environnement de développement">environnement de développement</a> dénommé <a href="IDLE_(Python)" title="IDLE (Python)">IDLE</a>.
</p><p>En <time class="nowrap" datetime="1999-12" data-sort-value="1999-12">décembre 1999</time>, Andrew M. Kuchling, le manager pendant une décennie des versions de Python 2.0<sup id="cite_ref-python2000-10-16new_38-0" class="reference"><a href="#cite_note-python2000-10-16new-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> à 2.7<sup id="cite_ref-python2010new_39-0" class="reference"><a href="#cite_note-python2010new-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup>, publie une critique dénommée "Les bizarreries de Python" (<i>Python Warts</i><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup>), qui synthétise les griefs les plus fréquents exprimés à l'encontre du langage. Ce document aura une influence certaine sur les développements futurs du langage<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>.
</p><p>Du fait du manque de financement du projet par la DARPA, et du départ de nombreux développeurs Python du CNRI (dont Guido van Rossum), le projet IDLE s'éteint en 2000<sup id="cite_ref-python1999-07-idle_37-1" class="reference"><a href="#cite_note-python1999-07-idle-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup>. Python 1.6 est la dernière version sortie au CNRI.
</p>
<div class="mw-heading mw-heading3"><h3 id="Zope">Zope</h3></div>
<p>En <a href="2000" title="2000">2000</a>, l'équipe principale de développement de Python déménage à BeOpen pour former l'équipe PythonLabs à l’origine de Python 2.0. Après cette version, Guido van Rossum et les autres développeurs de PythonLabs rejoignent Digital Creations à présent connue sous le nom de <a href="Zope" title="Zope">Zope Corporation</a><sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="La_Python_Software_Foundation">La <i>Python Software Foundation</i></h3></div>
<p>En 2001, Python 2.1 est une version dérivée de Python 1.6.1 et de Python 2.0. Sa licence est renommée <a href="Python_Software_Foundation_License" title="Python Software Foundation License">Python Software Foundation License</a>. Tout <a href="Programmation_informatique" title="Programmation informatique">code</a>, documentation et spécification ajouté, depuis la sortie de Python 2.1 alpha, est détenu par la <a href="Python_Software_Foundation" title="Python Software Foundation">Python Software Foundation</a> (PSF), une <a href="Association_sans_but_lucratif" title="Association sans but lucratif">association sans but lucratif</a> fondée en 2001, modelée d'après l'<i><a href="Apache_Software_Foundation" title="Apache Software Foundation">Apache Software Foundation</a></i>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Google">Google</h3></div>
<p>En 2005, Guido van Rossum travaille sur les projets Mondrian et Rietveld<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup>.
</p><p>En 2008, Python 3.0<sup id="cite_ref-python2009-02-14new_44-0" class="reference"><a href="#cite_note-python2009-02-14new-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> est publié. L'équipe Python a choisi de casser la compatibilité ascendante dans cette nouvelle version majeure pour&nbsp;:
</p>
<ul><li>Réparer certains défauts du langage&nbsp;: par exemple l'<a href="Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">orienté objet</a> avec deux types de <a href="Classe_(informatique)" title="Classe (informatique)">classes</a>)&nbsp;;</li>
<li>Nettoyer la bibliothèque standard de ses éléments obsolètes et redondants.</li></ul>
<p>En 2012, Python 3.1<sup id="cite_ref-python2012-04-09new_45-0" class="reference"><a href="#cite_note-python2012-04-09new-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> corrige les erreurs de jeunesse de la version 3.0.
</p>
<div class="mw-heading mw-heading3"><h3 id="Dropbox">Dropbox</h3></div>
<p>En 2013, Guido van Rossum est embauché par Dropbox<sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup> (mypy<sup id="cite_ref-mypy_47-0" class="reference"><a href="#cite_note-mypy-47"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup>) jusqu'en 2019<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Microsoft">Microsoft</h3></div>
<p>En 2020, Guido van Rossum entre dans la division développeur chez Microsoft<sup id="cite_ref-LMI2020-11-13_10-1" class="reference"><a href="#cite_note-LMI2020-11-13-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>.
</p><p>Selon l'<a href="Index_TIOBE" title="Index TIOBE">Index TIOBE</a>, <span class="citation">«&nbsp;Python, qui est devenu un élément incontournable de la <a href="Science_des_donn%C3%A9es" title="Science des données">science des données</a>, du <a href="DevOps" class="mw-redirect" title="DevOps">DevOps</a> et du <a href="Programmation_web" title="Programmation web">développement web</a>, est aussi désormais le langage le plus populaire dans le classement de TIOBE. Classé troisième langage le plus populaire de l'index au début de l'année 2021, Python s'est hissé à la première place en octobre 2022&nbsp;»</span><sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup>, notamment en raison de son efficacité pour l'<a href="Apprentissage_automatique" title="Apprentissage automatique">apprentissage automatique</a>.
</p><p>En août 2025, Python occupe la première place de ce classement<sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Caractéristiques"><span id="Caract.C3.A9ristiques"></span>Caractéristiques</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Syntaxe">Syntaxe</h3></div>
<p>Python a été conçu pour être un langage lisible. Il vise à être visuellement épuré. Par exemple, il possède moins de constructions <a href="Syntaxe" title="Syntaxe">syntaxiques</a> que des langages structurés tels que <a href="C_(langage)" title="C (langage)">C</a>, <a href="Perl_(langage)" title="Perl (langage)">Perl</a>, ou <a href="Pascal_(langage)" title="Pascal (langage)">Pascal</a>. Les commentaires sont indiqués par le caractère <a href="Croisillon_(signe)" title="Croisillon (signe)">croisillon</a> <code>#</code><sup id="cite_ref-Swinnen201225-26_51-0" class="reference"><a href="#cite_note-Swinnen201225-26-51"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup>.
</p><p>Les <a href="Bloc_de_base" title="Bloc de base">blocs</a> sont identifiés par l'<a href="Style_d'indentation" title="Style d'indentation">indentation</a><sup id="cite_ref-Swinnen201223-26_52-0" class="reference"><a href="#cite_note-Swinnen201223-26-52"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup>, au lieu d'accolades comme en <a href="C_(langage)" title="C (langage)">C</a> ou <a href="C%2B%2B" title="C++">C++</a>&nbsp;; ou de <code>begin ... end</code> comme en <a href="Pascal_(langage)" title="Pascal (langage)">Pascal</a> ou <a href="Ruby" title="Ruby">Ruby</a>. Une augmentation de l'<a href="Indentation_comme_syntaxe" title="Indentation comme syntaxe">indentation</a> marque le début d'un bloc, et une réduction de l'indentation marque la fin du bloc courant. Par convention, l'indentation est de quatre espaces en Python selon le standard de codage PEP 8<sup id="cite_ref-pep8_53-0" class="reference"><a href="#cite_note-pep8-53"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup>.
</p>
<table class="wikitable">
<tbody><tr>
<th width="50%">Fonction <a href="Factorielle" title="Factorielle">factorielle</a> en C
</th>
<th width="50%">Fonction <a href="Factorielle" title="Factorielle">factorielle</a> en Python
</th></tr>
<tr valign="top">
<td>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">factorielle</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">factorielle</span><span class="p">(</span><span class="n">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
</td>
<td>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">factorielle</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">2</span><span class="p">:</span>
<span class="k">return</span> <span class="mi">1</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="n">n</span> <span class="o">*</span> <span class="n">factorielle</span><span class="p">(</span><span class="n">n</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span>
</pre></div>
</td></tr></tbody></table>
<p>Remarque&nbsp;: L'indentation pourrait être modifiée ou supprimée dans la version en C sans modifier son comportement. De même, la fonction Python peut être écrite avec une expression conditionnelle<sup id="cite_ref-pep-0308_54-0" class="reference"><a href="#cite_note-pep-0308-54"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup>. Cependant, une indentation correcte permet de détecter plus aisément des erreurs en cas d'imbrication de plusieurs blocs et facilite donc l'élimination de ces erreurs. C'est pourquoi il est préférable d'indenter convenablement les programmes en C. La version courte s'écrirait ainsi&nbsp;:
</p>
<table class="wikitable">
<tbody><tr>
<th width="50%">Fonction factorielle en C
</th>
<th width="50%">Fonction factorielle en Python
</th></tr>
<tr valign="top">
<td>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">factorielle</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">n</span><span class="p">)</span>
<span class="p">{</span><span class="w"> </span><span class="c1">// appel récursif</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">factorielle</span><span class="p">(</span><span class="n">n</span><span class="mi">-1</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
</td>
<td>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">factorielle</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> <span class="c1"># appel récursif</span>
<span class="k">return</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">2</span> <span class="k">else</span> <span class="n">n</span> <span class="o">*</span> <span class="n">factorielle</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>

<span class="nb">print</span><span class="p">([</span><span class="n">factorielle</span><span class="p">(</span><span class="n">nbr</span><span class="p">)</span> <span class="k">for</span> <span class="n">nbr</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">)])</span>
<span class="c1"># [1, 1, 2, 6, 24, 120]</span>
</pre></div>
</td></tr></tbody></table>
<div class="mw-heading mw-heading4"><h4 id="Mots-clés_du_langage"><span id="Mots-cl.C3.A9s_du_langage"></span>Mots-clés du langage</h4></div>
<p>Les mots-clés réservés du langage Python sont fournis dans la liste <code>keyword.kwlist</code> du module <code>keyword</code><sup id="cite_ref-55" class="reference"><a href="#cite_note-55"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup>.
</p><p>Les mots-clés de Python 2.7.5 sont les suivants&nbsp;: <code>and</code>, <code>as</code>, <code>assert</code>, <code>break</code>, <code>class</code>, <code>continue</code>, <code>def</code>, <code>del</code>, <code>elif</code>, <code>else</code>, <code>except</code>, <code>exec</code>, <code>finally</code>, <code>for</code>, <code>from</code>, <code>global</code>, <code>if</code>, <code>import</code>, <code>in</code>, <code>is</code>, <code>lambda</code>, <code>not</code>, <code>or</code>, <code>pass</code>, <code>print</code>, <code>raise</code>, <code>return</code>, <code>try</code>, <code>while</code>, <code>with</code>, <code>yield</code>.
</p><p>À partir de Python 3.0, <code>print</code> et <code>exec</code> ne sont plus des mots-clés du langage, mais des fonctions du module <code>builtins</code><sup id="cite_ref-56" class="reference"><a href="#cite_note-56"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup>. Sont ajoutés aux mots-clés&nbsp;: <code>True</code>, <code>False</code>, <code>None</code> et <code>nonlocal</code>. Les trois premiers étaient déjà présents dans les versions précédentes, mais ils ne sont plus modifiables (auparavant, l'affectation <code>True = 1</code> était possible)<sup id="cite_ref-57" class="reference"><a href="#cite_note-57"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup>. <code>nonlocal</code> a été introduit par le PEP 3104<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup>, et permet, dans une fonction définie à l'intérieur d'une autre fonction, de modifier une variable d'un niveau supérieur de <a href="Port%C3%A9e_(informatique)" title="Portée (informatique)">portée</a>. Avant cela, seules les variables locales à la fonction, et globales (niveau module) étaient modifiables. Toutefois, il était possible, et ça l'est toujours sans le mot-clé <code>nonlocal</code>, de modifier un objet affecté à une variable d'un niveau de portée supérieur, par exemple une liste avec la méthode <code>append</code> - c'est évidemment impossible pour un <a href="Objet_immuable" title="Objet immuable">objet immuable</a>.
</p><p>
À partir de Python 3.10, il y a 3 mots-clés contextuels («&nbsp;<i><span class="lang-en" lang="en">soft keywords</span></i>&nbsp;» en anglais)&nbsp;: <code>match</code>, <code>case</code>, <code>_</code> identique à <a href="Switch_(instruction)" title="Switch (instruction)">l’instruction switch-case</a>. </p><div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr" dir="ltr"><pre><span></span><span class="k">match</span> <span class="n">valeur</span><span class="p">:</span>
<span class="k">case</span> <span class="n">condition_1</span><span class="p">:</span>
<span class="n">expression_1</span>
<span class="k">case</span> <span class="n">condition_2</span><span class="p">:</span>
<span class="n">expression_2</span>
<span class="k">case</span><span class="w"> </span><span class="k">_</span><span class="p">:</span> <span class="c1"># `case _´ est accédé si toutes les autres conditions sont fausses.</span>
<span class="n">expression_par_défaut</span>
</pre></div>
<div class="mw-heading mw-heading4"><h4 id="Types_de_base">Types de base</h4></div>
<p>Les types de base en Python sont relativement complets et puissants. Il y a, entre autres&nbsp;:
</p><p>Les objets <b>numériques</b>&nbsp;:
</p>
<ul><li><code>int</code> est le type des <a href="Entier_relatif" title="Entier relatif">entiers relatifs</a>. Avant la version 3.0, ce type était dénommé <code>long</code>, et le type <code>int</code> correspondait à un entier de 32 ou 64 bits. Néanmoins, une <a href="Conversion_de_type" title="Conversion de type">conversion</a> automatique en type <code>long</code> évitait tout <a href="D%C3%A9passement_de_pile" title="Dépassement de pile">débordement</a>. Maintenant, ce type correspond aux entiers relatifs avec une précision illimitée sans restriction de taille.</li>
<li><code>long</code> est le type des entiers relatifs, illimités de plus de 32 bits en Python 2, remplacé par le type <code>int</code> en Python 3.</li>
<li><code>float</code> est le type <a href="Virgule_flottante" title="Virgule flottante">flottant</a> équivalent au type <code>double</code> <a href="Types_de_donn%C3%A9e_du_langage_C" title="Types de donnée du langage C">du C</a>, soit tout nombre entre −1,7 × 10<sup>308</sup> et 1,7 × 10<sup>308</sup> sur les plateformes conforme à l'<a href="IEEE_754" title="IEEE 754">IEEE 754</a>.</li>
<li><code>complex</code> est le type des approximations des <a href="Nombre_complexe" title="Nombre complexe">nombres complexes</a> (c'est-à-dire deux <code>float</code>).</li></ul>
<p>Les objets <b>itérables</b> sont parcourus à l'aide d'une boucle <code>for</code> de la manière suivante&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">for</span> <span class="n">element</span> <span class="ow">in</span> <span class="n">objet_iterable</span><span class="p">:</span>
<span class="n">traiter</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
</pre></div>
<ol><li><code>bytearray</code> est une chaîne d'octets modifiables. La version d'<a href="Unicode" title="Unicode">Unicode</a> employée par Python peut être déterminée à l'aide de la variable <code>unidata_version</code> du module <code>unicodedata</code>.</li>
<li><code>dict</code> est un dictionnaire ou <a href="Tableau_associatif" title="Tableau associatif">tableau associatif</a> pour associer chaque clef unique à un objet. Ses méthodes sont <code>.keys()</code>, <code>.values()</code> ou <code>.items()</code>.</li>
<li><code>enumerate()</code> énumère un objet itérable tel qu'une liste. Par rapport à la boucle <code>for</code>, il renvoie à la fois l'index<sup id="cite_ref-59" class="reference"><a href="#cite_note-59"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> et la valeur. L'objet énuméré n'est pas modifiable&nbsp;: il est dit <a href="Objet_immuable" title="Objet immuable">immuable</a>.</li>
<li><code>file</code> correspond à un fichier obtenu grâce à la méthode <code><code>with open('c:\tool\python\pep-343.html', 'r') as file:</code></code></li>
<li><code>frozenset</code> forme une variante immuable d'un <code>set</code>.</li>
<li><code>list</code> est un <a href="Vecteur_(structure_de_donn%C3%A9es)" title="Vecteur (structure de données)">tableau dynamique</a> qui étend automatiquement sa taille lorsque nécessaire et accepte des types de données hétérogènes.</li>
<li><code>range(nbr)</code> est un compteur. Il génère une séquence de nombres de 0 à nbr - 1.</li>
<li><code>set</code> est un ensemble non ordonné d'objets.</li>
<li><code>str</code> est une chaîne de caractères itérable caractère par caractère. À partir de la version 3.0, les caractères sont en Unicode sur 16 ou 32 bits&nbsp;; les chaînes d'<a href="Octet" title="Octet">octets</a> sont des objets <code>bytes</code><sup id="cite_ref-60" class="reference"><a href="#cite_note-60"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-pep-3137_61-0" class="reference"><a href="#cite_note-pep-3137-61"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup>. Dans les versions précédentes, ces objets étaient respectivement de type <code>Unicode</code> et <code>str</code>. Les objets <code>str</code> et <code>bytes</code> sont immuables.</li>
<li><code>tuple</code> (<a href="N-uplet" class="mw-redirect" title="N-uplet">n-uplet</a>) est une liste immuable d'objets de types pouvant être différents c'est-à-dire hétérogènes.</li>
<li><code>typename</code> est obtenu avec la fonction <code>namedtuple()</code>. C'est une variante des <code>tuple</code> permettant d'accéder à un élément du tuple avec un nom se comportant comme une variable. Contrairement aux <code>dict</code>, ces objets sont immuables<sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-63" class="reference"><a href="#cite_note-63"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup>.</li></ol>
<p>Les autres objets ne sont ni numériques ni itérables&nbsp;:
</p>
<ul><li><code>bool</code> est un booléen, soit le type de <code>True</code> et <code>False</code> renvoyés par exemple lors de comparaisons hors de l'utilisation de méthodes <code>is_x()</code>.</li>
<li><code>exception</code> est le type d'un <a href="Message_d'erreur" title="Message d'erreur">message d'erreur</a> lancé lorsque le code lève une exception.</li>
<li><code>function</code> est le type d'une fonction, utilisé lors de l'appel des mots-clef <code>def</code> et <code>lambda</code>.</li>
<li><code>module</code> est le type d'un module, utilisé lors de l'appel des mots-clef <code>import</code> et <code>from</code>.</li>
<li><code>None</code> sert à dénoter qu'une variable est vide.</li>
<li><code>NotImplementedType</code> indique une absence d'implémentation du type auquel on essaie d'accéder.</li>
<li><code>object</code> est le type basique dont tous les autres types «&nbsp;héritent&nbsp;».</li>
<li><code>slice</code> est une partie de type ou un objet extensible.</li>
<li><code>type</code> est le type du type des objets, obtenu grâce à la méthode <code>type()</code>.</li></ul>
<p>Il est possible de dériver les classes des types de base pour créer ses propres types.
On peut également fabriquer ses propres types d'objets itérables sans hériter des itérables de base en utilisant le protocole d'itération du langage.
</p>
<div class="mw-heading mw-heading4"><h4 id="Programmation_fonctionnelle">Programmation fonctionnelle</h4></div>
<p>Python permet de programmer dans un style <a href="Programmation_fonctionnelle" title="Programmation fonctionnelle">fonctionnel</a>. Il dispose également des <a href="Liste_en_compr%C3%A9hension" title="Liste en compréhension">compréhensions de listes</a>, et plus généralement les compréhensions peuvent produire des générateurs, des <a href="Tableau_associatif" title="Tableau associatif">dictionnaires</a> ou des <a href="Ensemble_(informatique)" title="Ensemble (informatique)">ensembles</a><sup id="cite_ref-pep-0202_64-0" class="reference"><a href="#cite_note-pep-0202-64"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-65" class="reference"><a href="#cite_note-65"><span class="cite-bracket">[</span>65<span class="cite-bracket">]</span></a></sup>. Par exemple, pour construire la liste des carrés des <a href="Entier_naturel" title="Entier naturel">entiers naturels</a> plus petits que 10, on peut utiliser l'expression&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">liste</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="o">**</span><span class="mi">2</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)]</span>
<span class="c1"># liste = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]</span>
</pre></div>
<p>La liste des nombres <b>pairs</b>&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">liste</span> <span class="o">=</span> <span class="p">[</span><span class="n">entier</span> <span class="k">for</span> <span class="n">entier</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> <span class="k">if</span> <span class="n">entier</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">]</span>
<span class="c1"># liste = [0, 2, 4, 6, 8]</span>
</pre></div>
<p>Une table de passage des lettres de l'alphabet vers leur code <a href="American_Standard_Code_for_Information_Interchange" title="American Standard Code for Information Interchange">ASCII</a>&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{</span><span class="nb">chr</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> <span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">65</span><span class="p">,</span> <span class="mi">91</span><span class="p">)}</span>
<span class="c1"># {'A': 65, 'B': 66, 'C': 67, ..., 'X': 88, 'Y': 89, 'Z': 90}</span>
</pre></div>
<p>L'ensemble des lettres d'un mot (produit l'ensemble <code>{'r', 'c', 'd', 'b', 'a'}</code>)&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">s</span> <span class="o">=</span> <span class="s2">"abracadabra"</span>
<span class="p">{</span><span class="n">c</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">s</span><span class="p">}</span>
</pre></div>
<p>Une compréhension peut comprendre plusieurs boucles et filtres, et il existe une correspondance avec le code réalisant le même calcul à l'aide d'instructions <code>for</code> et <code>if</code>&nbsp;:
</p>
<table class="wikitable">
<tbody><tr>
<th width="50%">Compréhension
</th>
<th width="50%">Code équivalent
</th></tr>
<tr valign="top">
<td>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">n</span> <span class="o">=</span> <span class="mi">6</span>
<span class="p">[</span> <span class="n">i</span> <span class="o">+</span> <span class="n">j</span> <span class="k">if</span> <span class="n">i</span> <span class="o">!=</span> <span class="n">j</span> <span class="k">else</span> <span class="mi">0</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="c1"># sans ":"</span>
<span class="k">if</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span> <span class="c1"># impaire&nbsp;?</span>
<span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span>
<span class="k">if</span> <span class="n">j</span> <span class="o">%</span> <span class="mi">3</span> <span class="o">!=</span> <span class="mi">0</span> <span class="p">]</span>
<span class="c1"># [0, 3, 5, 6, 4, 5, 7, 8, 6, 7, 9, 0]</span>
</pre></div>
</td>
<td>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">n</span> <span class="o">=</span> <span class="mi">6</span><span class="p">;</span> <span class="n">lstRes</span> <span class="o">=</span> <span class="p">[]</span> <span class="c1"># La liste résultat est vide</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> <span class="c1"># avec ":"</span>
<span class="k">if</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># impaire&nbsp;?</span>
<span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="k">if</span> <span class="n">j</span> <span class="o">%</span> <span class="mi">3</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">lstRes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="n">j</span> <span class="k">if</span> <span class="n">i</span> <span class="o">!=</span> <span class="n">j</span> <span class="k">else</span> <span class="mi">0</span><span class="p">)</span>
<span class="c1"># lstRes = [0, 3, 5, 6, 4, 5, 7, 8, 6, 7, 9, 0]</span>
</pre></div>
</td></tr></tbody></table>
<p>Cependant, une différence notable dans la version sans compréhension est que les variables i et j existent, avec la valeur qu'elles avaient lors de leur dernier tour de boucle. Ce n'est pas le cas pour des constructions par compréhension.
</p><p>Une forme limitée de <a href="Fonction_anonyme" title="Fonction anonyme">fonction anonyme</a> est possible&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">+</span> <span class="mi">2</span>
</pre></div>
<p>Les fonctions lambda peuvent être définies en ligne et utilisées comme arguments dans des expressions fonctionnelles&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="nb">list</span><span class="p">(</span><span class="nb">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)))</span>
<span class="c1"># renvoie [0, 2, 4, 6, 8]</span>
</pre></div>
<p>retournera une liste constituée des nombres pairs inférieurs à 10.
</p><p>Le même résultat peut être obtenu avec&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span> <span class="k">if</span> <span class="n">x</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span><span class="p">]</span>
<span class="c1"># renvoie [0, 2, 4, 6, 8]</span>
</pre></div>
<p>Les lambdas de Python n'admettent que des expressions et ne peuvent être utilisées comme fonctions anonymes généralisées&nbsp;; mais en Python, toutes les fonctions sont des objets, elles peuvent donc être passées en arguments à d'autres fonctions, et appelées lorsque c'est nécessaire. En effet, une fonction définie avec <b>def</b> peut être créée à l'intérieur d'une autre fonction et on obtient ainsi une définition de fonction dans une <a href="Variable_locale" title="Variable locale">variable locale</a>, par exemple&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">filtre_inferieur_a_5</span><span class="p">(</span><span class="n">une_liste</span><span class="p">):</span>
<span class="k">def</span><span class="w"> </span><span class="nf">mon_filtre</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> <span class="c1"># variable locale mon_filtre</span>
<span class="k">return</span> <span class="n">x</span> <span class="o">&lt;</span> <span class="mi">5</span>
<span class="k">return</span> <span class="nb">filter</span><span class="p">(</span><span class="n">mon_filtre</span><span class="p">,</span> <span class="n">une_liste</span><span class="p">)</span>
</pre></div>
<p>Une fonction locale peut modifier l'environnement de la fonction qui l'a créée, grâce au mot-clé <code>nonlocal</code> (voir <a href="Fermeture_(informatique)" title="Fermeture (informatique)">Fermeture (informatique)</a>)&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Callable</span> <span class="c1"># type le retour de fonction</span>
<span class="k">def</span><span class="w"> </span><span class="nf">accum</span><span class="p">(</span><span class="n">pas</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Callable</span><span class="p">[[</span><span class="nb">int</span><span class="p">],</span> <span class="nb">int</span><span class="p">]:</span> <span class="c1"># retourne une fonction appelable</span>
<span class="n">total</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># initialise une fois l'accumulateur</span>
<span class="k">def</span><span class="w"> </span><span class="nf">ajoute</span><span class="p">(</span><span class="n">germe</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<span class="k">nonlocal</span> <span class="n">total</span> <span class="c1"># accède à l'accumulateur de la fonction accum</span>
<span class="n">total</span> <span class="o">+=</span> <span class="n">germe</span> <span class="o">*</span> <span class="n">pas</span> <span class="c1"># incrémente l'accumulateur du germe fois le pas</span>
<span class="k">return</span> <span class="n">total</span> <span class="c1"># retourne la valeur accumulée</span>
<span class="k">return</span> <span class="n">ajoute</span> <span class="c1"># retourne la fonction accumulateur paramétrée par le pas</span>

<span class="n">paire</span> <span class="o">=</span> <span class="n">accum</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># retourne la fonction ajoute avec un pas de 2</span>
<span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">paire</span><span class="p">,</span> <span class="n">Callable</span><span class="p">)</span> <span class="c1"># paire est une fonction appelable</span>
<span class="nb">print</span><span class="p">([</span><span class="n">cell</span><span class="o">.</span><span class="n">cell_contents</span> <span class="k">for</span> <span class="n">cell</span> <span class="ow">in</span> <span class="n">paire</span><span class="o">.</span><span class="vm">__closure__</span><span class="p">])</span> <span class="c1"># environnement initial&nbsp;: [2, 0]</span>

<span class="nb">print</span> <span class="p">([</span><span class="n">paire</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">)])</span> <span class="c1"># affiche la liste des cinq premiers nombres pairs</span>
<span class="c1"># [2, 4, 6, 8, 10]</span>
<span class="nb">print</span> <span class="p">([</span><span class="n">paire</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">)])</span> <span class="c1"># affiche la suite à partir du dernier compteur précédent</span>
<span class="c1"># [12, 14, 16]</span>
<span class="nb">print</span><span class="p">([</span><span class="n">cell</span><span class="o">.</span><span class="n">cell_contents</span> <span class="k">for</span> <span class="n">cell</span> <span class="ow">in</span> <span class="n">paire</span><span class="o">.</span><span class="vm">__closure__</span><span class="p">])</span> <span class="c1"># environnement final&nbsp;: [2, 16]</span>
</pre></div>
<p>On peut ainsi créer plusieurs accumulateurs, faisant chacun référence à son propre total. Il est possible d'accéder à l'environnement d'une fonction locale à l'aide de l'attribut <code>__closure__</code>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Programmation_objet">Programmation objet</h4></div>
<p>Tous les types de base, les fonctions, les <a href="Instance_(programmation)" title="Instance (programmation)">instances</a> de classes (les objets «&nbsp;classiques&nbsp;» des langages <a href="C%2B%2B" title="C++">C++</a> et <a href="Java_(langage)" title="Java (langage)">Java</a>) et les classes elles-mêmes (qui sont des instances de méta-classes) sont des objets.
</p><p>Une classe se définit avec le mot-clé <code>class</code>. Les <a href="Classe_(informatique)" title="Classe (informatique)">classes</a> Python supportent l'<a href="H%C3%A9ritage_multiple" title="Héritage multiple">héritage multiple</a>&nbsp;; il n'y a pas de surcharge statique comme en C++, ou de restrictions sur l'héritage comme c'est le cas en Java (une classe implémente plusieurs interfaces et hérite d'une seule classe) mais le mécanisme des arguments optionnels et par mot-clé est plus général et plus flexible. En Python, l'attribut d'un objet peut référencer une variable d'instance ou de classe (le plus souvent une méthode). Il est possible de lire ou de modifier un attribut dynamiquement avec les fonctions&nbsp;:
</p>
<ul><li><code>getattr(objet, "nom_attribut") </code></li>
<li><code>setattr(objet, "nom_attribut", nouvel_attribut)</code></li></ul>
<p>Exemple de deux classes simples&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Personne</span><span class="p">:</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">nom</span><span class="p">,</span> <span class="n">prenom</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">nom</span> <span class="o">=</span> <span class="n">nom</span>
<span class="bp">self</span><span class="o">.</span><span class="n">prenom</span> <span class="o">=</span> <span class="n">prenom</span>
<span class="k">def</span><span class="w"> </span><span class="nf">presenter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">nom</span> <span class="o">+</span> <span class="s2">" "</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">prenom</span>

<span class="k">class</span><span class="w"> </span><span class="nc">Etudiant</span><span class="p">(</span><span class="n">Personne</span><span class="p">):</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">niveau</span><span class="p">,</span> <span class="n">nom</span><span class="p">,</span> <span class="n">prenom</span><span class="p">):</span>
<span class="n">Personne</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">nom</span><span class="p">,</span> <span class="n">prenom</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">niveau</span> <span class="o">=</span> <span class="n">niveau</span>
<span class="k">def</span><span class="w"> </span><span class="nf">presenter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">niveau</span> <span class="o">+</span> <span class="s2">" "</span> <span class="o">+</span> <span class="n">Personne</span><span class="o">.</span><span class="n">presenter</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>

<span class="n">e</span> <span class="o">=</span> <span class="n">Etudiant</span><span class="p">(</span><span class="s2">"Licence INFO"</span><span class="p">,</span> <span class="s2">"Dupontel"</span><span class="p">,</span> <span class="s2">"Albert"</span><span class="p">)</span>
<span class="k">assert</span> <span class="n">e</span><span class="o">.</span><span class="n">nom</span> <span class="o">==</span> <span class="s2">"Dupontel"</span>
</pre></div>
<div class="mw-heading mw-heading4"><h4 id="Méthodes_spéciales_et_définition_des_opérateurs"><span id="M.C3.A9thodes_sp.C3.A9ciales_et_d.C3.A9finition_des_op.C3.A9rateurs"></span>Méthodes spéciales et définition des opérateurs</h4></div>
<p>Python fournit un mécanisme élégant et <a href="Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">orienté objet</a> pour définir un ensemble prédéfini d'opérateurs&nbsp;: tout objet Python peut se voir doté de méthodes dites spéciales.
</p><p>Ces méthodes, commençant et finissant par deux tirets de soulignement <i>(underscores)</i>, sont appelées lors de l'utilisation d'un opérateur sur l'objet&nbsp;: <code>+</code> (méthode <code>__add__</code>), <code>+=</code> (méthode <code>__iadd__</code>), <code>[]</code> (méthode <code>__getitem__</code>), <code>()</code> (méthode <code>__call__</code>), etc. Des méthodes comme <code>__repr__</code> et <code>__str__</code> permettent de définir la représentation d'un objet dans l'interpréteur interactif et son rendu avec la fonction <i>print</i>.
</p><p>Les possibilités sont nombreuses et sont décrites dans la documentation du langage<sup id="cite_ref-66" class="reference"><a href="#cite_note-66"><span class="cite-bracket">[</span>66<span class="cite-bracket">]</span></a></sup>.
</p><p>Par exemple on peut définir l'addition de deux vecteurs à deux dimensions avec la classe suivante&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">class</span><span class="w"> </span><span class="nc">Vector2D</span><span class="p">:</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
<span class="c1"># On utilise un tuple pour stocker les coordonnées</span>
<span class="bp">self</span><span class="o">.</span><span class="n">coords</span> <span class="o">=</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>

<span class="k">def</span><span class="w"> </span><span class="fm">__add__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span>
<span class="c1"># L'instruction a+b sera résolue comme a.__add__(b)</span>
<span class="c1"># On construit un objet Vector2D à partir des coordonnées propres à l'objet, et à l'autre opérande</span>
<span class="k">return</span> <span class="n">Vector2D</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">coords</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="n">other</span><span class="o">.</span><span class="n">coords</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">coords</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">other</span><span class="o">.</span><span class="n">coords</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>

<span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c1"># L'affichage de l'objet dans l'interpréteur</span>
<span class="k">return</span> <span class="s2">"Vector2D(</span><span class="si">%s</span><span class="s2">, </span><span class="si">%s</span><span class="s2">)"</span> <span class="o">%</span><span class="bp">self</span><span class="o">.</span><span class="n">coords</span>

<span class="n">a</span> <span class="o">=</span> <span class="n">Vector2D</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">b</span> <span class="o">=</span> <span class="n">Vector2D</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span> <span class="c1"># Vector2D(4, 6)</span>
</pre></div>
<div class="mw-heading mw-heading4"><h4 id="Générateurs"><span id="G.C3.A9n.C3.A9rateurs"></span>Générateurs</h4></div>
<p>Le mot-clef <code>yield</code> utilisé dans une fonction permet de faire de cette fonction un générateur. L'appel de cette fonction renvoie un objet de type <i>generator</i>, qui peut être utilisé dans une boucle <code>for</code>, par exemple.
</p><p>À chaque appel, le générateur effectue son traitement jusqu'à rencontrer le mot-clé <code>yield</code>, renvoie la valeur de l'expression <code>yield</code>, et à l'appel suivant, reprend son déroulement juste après le <code>yield</code>. Par exemple pour calculer la <a href="Suite_de_Fibonacci" title="Suite de Fibonacci">suite de Fibonacci</a>, on peut écrire&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">gen_fibonacci</span><span class="p">():</span>
<span class="w"> </span><span class="sd">"""Générateur de la suite de Fibonacci"""</span>
<span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span>
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
<span class="k">yield</span> <span class="n">a</span> <span class="c1"># Renvoie la valeur de "a", résultat de l'itération en cours</span>
<span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">b</span><span class="p">,</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span>

<span class="n">fi</span> <span class="o">=</span> <span class="n">gen_fibonacci</span><span class="p">()</span>
<span class="nb">print</span><span class="p">([</span><span class="nb">next</span><span class="p">(</span><span class="n">fi</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">7</span><span class="p">)])</span>
<span class="c1"># renvoie [0, 1, 1, 2, 3, 5, 8]</span>
<span class="nb">print</span><span class="p">([</span><span class="nb">next</span><span class="p">(</span><span class="n">fi</span><span class="p">)</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">)])</span>
<span class="c1"># renvoie [13, 21, 34]</span>
</pre></div>
<p>Le module <code>itertools</code> permet de manipuler les générateurs. Par exemple, pour extraire les 10 premiers éléments du générateur précédent&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">itertools</span>
<span class="nb">list</span><span class="p">(</span><span class="n">itertools</span><span class="o">.</span><span class="n">islice</span><span class="p">(</span><span class="n">gen_fibonacci</span><span class="p">(),</span> <span class="mi">10</span><span class="p">))</span>
<span class="c1"># renvoie [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]</span>
</pre></div>
<p>Depuis Python 3.3, il est possible de produire un générateur à partir d'une fonction récursive, grâce à la syntaxe <code>yield from</code>, apparue dans le PEP 380<sup id="cite_ref-pep-0380_67-0" class="reference"><a href="#cite_note-pep-0380-67"><span class="cite-bracket">[</span>67<span class="cite-bracket">]</span></a></sup> et qui «&nbsp;délègue&nbsp;» le calcul à un sous-générateur. L'exemple suivant calcule les permutations des dames correspondant aux solutions du <a href="Probl%C3%A8me_des_huit_dames" title="Problème des huit dames">problème des huit dames</a> étendu à un échiquier de taille n × n.
</p>
<table border="0">
<caption>Problème des huit dames
</caption>
<tbody><tr>
<td>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">QueenSolver</span><span class="p">(</span><span class="n">nbrFile</span><span class="p">,</span> <span class="n">lstColumn</span><span class="o">=</span><span class="p">[]):</span>
<span class="w"> </span><span class="sd">'''Résoudre nbrFile Dames sans prise sur un échiquier de nbrFile colonnes'''</span>
<span class="k">if</span> <span class="p">(</span><span class="n">nbrRank</span> <span class="o">:=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lstColumn</span><span class="p">))</span> <span class="o">==</span> <span class="n">nbrFile</span><span class="p">:</span>
<span class="k">yield</span> <span class="n">lstColumn</span> <span class="c1"># Solution itérable trouvée</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">for</span> <span class="n">indFile</span> <span class="ow">in</span> <span class="p">[</span><span class="n">col</span> <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">nbrFile</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="k">if</span> <span class="n">col</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">lstColumn</span><span class="p">]:</span>
<span class="n">isQueenUnderAttack</span> <span class="o">=</span> <span class="kc">False</span><span class="p">;</span> <span class="n">indRank</span> <span class="o">=</span> <span class="n">nbrRank</span>
<span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">lstColumn</span><span class="p">:</span>
<span class="k">if</span> <span class="n">col</span> <span class="ow">in</span> <span class="p">[</span><span class="n">indFile</span><span class="o">+</span><span class="n">indRank</span><span class="p">,</span><span class="n">indFile</span><span class="o">-</span><span class="n">indRank</span><span class="p">]:</span> <span class="c1"># Collision&nbsp;?</span>
<span class="n">isQueenUnderAttack</span> <span class="o">=</span> <span class="kc">True</span><span class="p">;</span> <span class="k">break</span> <span class="c1"># colonne col à rejeter</span>
<span class="n">indRank</span> <span class="o">-=</span> <span class="mi">1</span> <span class="c1"># Rangée précédente</span>
<span class="k">if</span> <span class="ow">not</span><span class="p">(</span><span class="n">isQueenUnderAttack</span><span class="p">):</span> <span class="c1"># Dame non attaquée&nbsp;?</span>
<span class="c1"># appel récursif en insérant dans la liste la Dame en indFile</span>
<span class="k">yield from</span> <span class="n">QueenSolver</span><span class="p">(</span><span class="n">nbrFile</span><span class="p">,</span> <span class="n">lstColumn</span> <span class="o">+</span> <span class="p">[</span><span class="n">indFile</span><span class="p">])</span>

<span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">QueenSolver</span><span class="p">(</span><span class="mi">8</span><span class="p">))</span> <span class="c1"># Nombre de solutions</span>
<span class="c1"># renvoie 92</span>
</pre></div>
</td>
<td>
<div class="thumb tright" style="clear:right;text-align:center">
<div class="thumbinner" style="width:214px"><table cellpadding="0" cellspacing="0" style="background:var(--background-color-base,white);color:inherit;font-size:88%;border:1px var(--border-color-base,#b0b0b0) solid;padding:0;margin:auto"><tbody><tr style="vertical-align:middle"><td style="vertical-align:inherit;padding:0"></td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">a</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">b</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">c</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">d</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">e</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">f</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">g</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">h</td><td style="vertical-align:inherit;padding:0"></td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;width:18px;height:22px">8</td><td colspan="8" rowspan="8" style="padding:0;vertical-align:top"><div class="chess-board" style="position:relative"><span class="notpageimage" typeof="mw:File"><span></span></span><div title="Case blanche a8 vide" style="position:absolute;z-index:3;top:0px;left:0px;width:22px;height:22px"></div><div title="Case noire b8 vide" style="position:absolute;z-index:3;top:0px;left:22px;width:22px;height:22px"></div><div title="Case blanche c8 vide" style="position:absolute;z-index:3;top:0px;left:44px;width:22px;height:22px"></div><div title="Case noire d8 vide" style="position:absolute;z-index:3;top:0px;left:66px;width:22px;height:22px"></div><div title="Case blanche e8 vide" style="position:absolute;z-index:3;top:0px;left:88px;width:22px;height:22px"></div><div title="Case noire f8 vide" style="position:absolute;z-index:3;top:0px;left:110px;width:22px;height:22px"></div><div title="Case blanche g8 vide" style="position:absolute;z-index:3;top:0px;left:132px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:0px;left:154px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame blanche sur case noire h8"></span></span></div><div title="Case noire a7 vide" style="position:absolute;z-index:3;top:22px;left:0px;width:22px;height:22px"></div><div title="Case blanche b7 vide" style="position:absolute;z-index:3;top:22px;left:22px;width:22px;height:22px"></div><div title="Case noire c7 vide" style="position:absolute;z-index:3;top:22px;left:44px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:22px;left:66px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame noire sur case blanche d7"></span></span></div><div title="Case noire e7 vide" style="position:absolute;z-index:3;top:22px;left:88px;width:22px;height:22px"></div><div title="Case blanche f7 vide" style="position:absolute;z-index:3;top:22px;left:110px;width:22px;height:22px"></div><div title="Case noire g7 vide" style="position:absolute;z-index:3;top:22px;left:132px;width:22px;height:22px"></div><div title="Case blanche h7 vide" style="position:absolute;z-index:3;top:22px;left:154px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:44px;left:0px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame blanche sur case blanche a6"></span></span></div><div title="Case noire b6 vide" style="position:absolute;z-index:3;top:44px;left:22px;width:22px;height:22px"></div><div title="Case blanche c6 vide" style="position:absolute;z-index:3;top:44px;left:44px;width:22px;height:22px"></div><div title="Case noire d6 vide" style="position:absolute;z-index:3;top:44px;left:66px;width:22px;height:22px"></div><div title="Case blanche e6 vide" style="position:absolute;z-index:3;top:44px;left:88px;width:22px;height:22px"></div><div title="Case noire f6 vide" style="position:absolute;z-index:3;top:44px;left:110px;width:22px;height:22px"></div><div title="Case blanche g6 vide" style="position:absolute;z-index:3;top:44px;left:132px;width:22px;height:22px"></div><div title="Case noire h6 vide" style="position:absolute;z-index:3;top:44px;left:154px;width:22px;height:22px"></div><div title="Case noire a5 vide" style="position:absolute;z-index:3;top:66px;left:0px;width:22px;height:22px"></div><div title="Case blanche b5 vide" style="position:absolute;z-index:3;top:66px;left:22px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:66px;left:44px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame noire sur case noire c5"></span></span></div><div title="Case blanche d5 vide" style="position:absolute;z-index:3;top:66px;left:66px;width:22px;height:22px"></div><div title="Case noire e5 vide" style="position:absolute;z-index:3;top:66px;left:88px;width:22px;height:22px"></div><div title="Case blanche f5 vide" style="position:absolute;z-index:3;top:66px;left:110px;width:22px;height:22px"></div><div title="Case noire g5 vide" style="position:absolute;z-index:3;top:66px;left:132px;width:22px;height:22px"></div><div title="Case blanche h5 vide" style="position:absolute;z-index:3;top:66px;left:154px;width:22px;height:22px"></div><div title="Case blanche a4 vide" style="position:absolute;z-index:3;top:88px;left:0px;width:22px;height:22px"></div><div title="Case noire b4 vide" style="position:absolute;z-index:3;top:88px;left:22px;width:22px;height:22px"></div><div title="Case blanche c4 vide" style="position:absolute;z-index:3;top:88px;left:44px;width:22px;height:22px"></div><div title="Case noire d4 vide" style="position:absolute;z-index:3;top:88px;left:66px;width:22px;height:22px"></div><div title="Case blanche e4 vide" style="position:absolute;z-index:3;top:88px;left:88px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:88px;left:110px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame blanche sur case noire f4"></span></span></div><div title="Case blanche g4 vide" style="position:absolute;z-index:3;top:88px;left:132px;width:22px;height:22px"></div><div title="Case noire h4 vide" style="position:absolute;z-index:3;top:88px;left:154px;width:22px;height:22px"></div><div title="Case noire a3 vide" style="position:absolute;z-index:3;top:110px;left:0px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:110px;left:22px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame noire sur case blanche b3"></span></span></div><div title="Case noire c3 vide" style="position:absolute;z-index:3;top:110px;left:44px;width:22px;height:22px"></div><div title="Case blanche d3 vide" style="position:absolute;z-index:3;top:110px;left:66px;width:22px;height:22px"></div><div title="Case noire e3 vide" style="position:absolute;z-index:3;top:110px;left:88px;width:22px;height:22px"></div><div title="Case blanche f3 vide" style="position:absolute;z-index:3;top:110px;left:110px;width:22px;height:22px"></div><div title="Case noire g3 vide" style="position:absolute;z-index:3;top:110px;left:132px;width:22px;height:22px"></div><div title="Case blanche h3 vide" style="position:absolute;z-index:3;top:110px;left:154px;width:22px;height:22px"></div><div title="Case blanche a2 vide" style="position:absolute;z-index:3;top:132px;left:0px;width:22px;height:22px"></div><div title="Case noire b2 vide" style="position:absolute;z-index:3;top:132px;left:22px;width:22px;height:22px"></div><div title="Case blanche c2 vide" style="position:absolute;z-index:3;top:132px;left:44px;width:22px;height:22px"></div><div title="Case noire d2 vide" style="position:absolute;z-index:3;top:132px;left:66px;width:22px;height:22px"></div><div title="Case blanche e2 vide" style="position:absolute;z-index:3;top:132px;left:88px;width:22px;height:22px"></div><div title="Case noire f2 vide" style="position:absolute;z-index:3;top:132px;left:110px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:132px;left:132px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame blanche sur case blanche g2"></span></span></div><div title="Case noire h2 vide" style="position:absolute;z-index:3;top:132px;left:154px;width:22px;height:22px"></div><div title="Case noire a1 vide" style="position:absolute;z-index:3;top:154px;left:0px;width:22px;height:22px"></div><div title="Case blanche b1 vide" style="position:absolute;z-index:3;top:154px;left:22px;width:22px;height:22px"></div><div title="Case noire c1 vide" style="position:absolute;z-index:3;top:154px;left:44px;width:22px;height:22px"></div><div title="Case blanche d1 vide" style="position:absolute;z-index:3;top:154px;left:66px;width:22px;height:22px"></div><div style="position:absolute;z-index:3;top:154px;left:88px;width:22px;height:22px"><span class="mw-valign-top notpageimage" typeof="mw:File"><span title="Dame noire sur case noire e1"></span></span></div><div title="Case blanche f1 vide" style="position:absolute;z-index:3;top:154px;left:110px;width:22px;height:22px"></div><div title="Case noire g1 vide" style="position:absolute;z-index:3;top:154px;left:132px;width:22px;height:22px"></div><div title="Case blanche h1 vide" style="position:absolute;z-index:3;top:154px;left:154px;width:22px;height:22px"></div></div></td><td style="padding:0;vertical-align:inherit;width:18px;height:22px">8</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">7</td><td style="padding:0;vertical-align:inherit;height:22px">7</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">6</td><td style="padding:0;vertical-align:inherit;height:22px">6</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">5</td><td style="padding:0;vertical-align:inherit;height:22px">5</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">4</td><td style="padding:0;vertical-align:inherit;height:22px">4</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">3</td><td style="padding:0;vertical-align:inherit;height:22px">3</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">2</td><td style="padding:0;vertical-align:inherit;height:22px">2</td></tr><tr style="vertical-align:middle"><td style="padding:0;vertical-align:inherit;height:22px">1</td><td style="padding:0;vertical-align:inherit;height:22px">1</td></tr><tr style="vertical-align:middle"><td style="vertical-align:inherit;padding:0"></td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">a</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">b</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">c</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">d</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">e</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">f</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">g</td><td style="padding:0;vertical-align:inherit;height:18px;width:22px">h</td><td style="vertical-align:inherit;padding:0"></td></tr></tbody></table><div class="thumbcaption">Solution 92&nbsp;: diversité<sup id="cite_ref-68" class="reference"><a href="#cite_note-68"><span class="cite-bracket">[</span>68<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-69" class="reference"><a href="#cite_note-69"><span class="cite-bracket">[</span>69<span class="cite-bracket">]</span></a></sup> inclusive<sup id="cite_ref-70" class="reference"><a href="#cite_note-70"><span class="cite-bracket">[</span>70<span class="cite-bracket">]</span></a></sup>
</div></div></div>
</td></tr></tbody></table>
<table class="wikitable">
<caption>Notation échiquéenne des solutions
</caption>
<tbody><tr>
<th scope="col">Fonction d'affichage
</th>
<th scope="col">N°
</th>
<th scope="col">Solution
</th></tr>
<tr>
<td style="vertical-align:top;width:600px">
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="c1"># ChessCoord([8, 4, 1, 3, 6, 2, 7, 5]) -&gt; "h8, d7, a6, c5, f4, b3, g2, e1"</span>
<span class="k">def</span><span class="w"> </span><span class="nf">ChessCoord</span><span class="p">(</span><span class="n">lstColumn</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Convertit une liste de colonnes en notation algébrique"""</span>
<span class="k">return</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span> <span class="c1"># chr(ascii) -&gt; str; ord(str) -&gt; ascii</span>
<span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="nb">chr</span><span class="p">(</span><span class="n">indFile</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nb">ord</span><span class="p">(</span><span class="s1">'a'</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="si">}{</span><span class="mi">8</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">indRank</span><span class="si">}</span><span class="s2">"</span>
<span class="c1"># Boucle sur le rang et colonne dans lstColumn</span>
<span class="k">for</span> <span class="n">indRank</span><span class="p">,</span> <span class="n">indFile</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">lstColumn</span><span class="p">)</span>
<span class="p">)</span>
<span class="k">for</span> <span class="n">solution</span> <span class="ow">in</span> <span class="n">QueenSolver</span><span class="p">(</span><span class="mi">8</span><span class="p">):</span> <span class="c1"># Pour chaque solution</span>
<span class="nb">print</span><span class="p">(</span><span class="n">ChessCoord</span><span class="p">(</span><span class="n">solution</span><span class="p">))</span> <span class="c1"># afficher la notation algébrique</span>
</pre></div>
</td>
<td style="vertical-align:top;width:8em;text-align:center;">
<p>1<br>
2<br>
3<br>
4<br>
<br>
89<br>
90<br>
91<br>
92
</p>
</td>
<td style="vertical-align:top;">
<p>a8, e7, h6, f5, c4, g3, b2, d1<br>
a8, f7, h6, c5, g4, d3, b2, e1<br>
a8, g7, d6, f5, h4, b3, e2, c1<br>
a8, g7, e6, h5, b4, d3, f2, c1<br>
...<br>
h8, b7, d6, a5, g4, e3, c2, f1<br>
h8, b7, e6, c5, a4, g3, d2, f1<br>
h8, c7, a6, f5, b4, e3, g2, d1<br>
h8, d7, a6, c5, f4, b3, g2, e1
</p>
</td></tr></tbody></table>
<p>Un générateur peut sembler identique à une fonction qui retourne une liste par <code>return</code>, mais contrairement à une liste qui contient <i>tous</i> ses éléments, un générateur calcule ses éléments <i>un par un</i>.
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">timeit</span> <span class="c1"># chronomètre</span>
<span class="p">[</span><span class="n">n</span> <span class="o">*</span> <span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)]</span> <span class="c1"># une liste est entre crochets</span>
<span class="c1"># [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]</span>
<span class="mi">36</span> <span class="ow">in</span> <span class="p">[</span><span class="n">n</span> <span class="o">*</span> <span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">)]</span> <span class="c1"># 36 est-il dans la liste des carrés&nbsp;?</span>
<span class="c1"># True</span>

<span class="p">(</span><span class="n">n</span> <span class="o">*</span> <span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span> <span class="c1"># un générateur est entre parenthèses</span>
<span class="c1"># &lt;generator object &lt;genexpr&gt; at 0x0000022DCAED1490&gt; # l'adresse hexadécimale peut changer</span>
<span class="mi">36</span> <span class="ow">in</span> <span class="p">(</span><span class="n">n</span> <span class="o">*</span> <span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span> <span class="c1"># 36 est-il dans un des premiers résultats du générateur&nbsp;?</span>
<span class="c1"># True</span>

<span class="n">timeit</span><span class="o">.</span><span class="n">timeit</span><span class="p">(</span><span class="n">stmt</span><span class="o">=</span><span class="s1">'36 in [n * n for n in range(100)]'</span><span class="p">,</span> <span class="n">number</span><span class="o">=</span><span class="mi">1_000_000</span><span class="p">)</span> <span class="c1"># quand range(maxNbr) augmente,</span>
<span class="c1"># 7.3 s</span>
<span class="n">timeit</span><span class="o">.</span><span class="n">timeit</span><span class="p">(</span><span class="n">stmt</span><span class="o">=</span><span class="s1">'36 in (n * n for n in range(100))'</span><span class="p">,</span> <span class="n">number</span><span class="o">=</span><span class="mi">1_000_000</span><span class="p">)</span> <span class="c1"># le générateur peut être plus rapide.</span>
<span class="c1"># 1.2 s</span>
</pre></div>
<p>Ainsi, le test <code>36 in [n * n for n in range(10)]</code> va s'effectuer sur la liste calculée en entier, alors que dans <code>36 in (n * n for n in range(10))</code>, qui utilise un générateur, le calcul des carrés s'arrête dès que 36 est trouvé. On peut s'en convaincre en remplaçant <code>n * n</code> par un appel de fonction réalisant un <a href="Effet_de_bord_(informatique)" title="Effet de bord (informatique)">effet de bord</a>, par exemple un affichage à l'écran.
</p>
<div class="mw-heading mw-heading3"><h3 id="Réflexivité"><span id="R.C3.A9flexivit.C3.A9"></span>Réflexivité</h3></div>
<p>Grâce à un usage intensif des dictionnaires (<a href="Conteneur_(informatique)" title="Conteneur (informatique)">conteneur</a> associatif développé avec des <a href="Table_de_hachage" title="Table de hachage">tables de hachage</a>), Python permet d'explorer les divers objets du langage (<a href="Introspection_(informatique)" class="mw-redirect" title="Introspection (informatique)">introspection</a>) et dans certains cas de les modifier (<a href="Intercession_(informatique)" class="mw-redirect" title="Intercession (informatique)">intercession</a>).
</p>
<div class="mw-heading mw-heading3"><h3 id="Typage">Typage</h3></div>

<p>Le <a href="Typage" class="mw-redirect" title="Typage">typage</a> est <a href="Typage_dynamique" title="Typage dynamique">dynamique</a><sup id="cite_ref-Swinnen201216-17,_76,_81,_125,_146_71-0" class="reference"><a href="#cite_note-Swinnen201216-17,_76,_81,_125,_146-71"><span class="cite-bracket">[</span>71<span class="cite-bracket">]</span></a></sup>. Il n'est pas vérifié à la compilation mais à l'exécution.
Il n'est pas nécessaire d'indiquer le type des variables&nbsp;: Python est sans typage statique explicite.
</p><p>Python est fortement typé. Il interdit à l'exécution des opérations ayant peu de sens.
Par exemple&nbsp;: concaténer par l'opérateur <code>+</code> un nombre réel ou entier à une chaîne <code>str</code> pour l'afficher avec <code>print()</code>.
</p><p>Il n'y a pas de conversion automatique.
Python propose les fonctions <code>int()</code> et <code>str()</code> permettant de convertir un nombre dans un autre type&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">floatPoint</span> <span class="o">=</span> <span class="mf">3.2</span> <span class="c1"># Python découvre dynamiquement que floatPoint est du type float</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Tu as "</span> <span class="o">+</span> <span class="n">floatPoint</span> <span class="o">+</span> <span class="s2">" points&nbsp;!"</span><span class="p">)</span> <span class="c1"># Génère l'erreur de typage&nbsp;:</span>
<span class="c1"># TypeError: can only concatenate str (not "float") to str</span>

<span class="c1"># intPoint est du type int&nbsp;: entier. La fonction int() force la conversion.</span>
<span class="n">intPoint</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">floatPoint</span><span class="p">)</span> <span class="c1"># Sa valeur 3 est arrondie à l'unité inférieure.</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Tu as "</span> <span class="o">+</span> <span class="n">intPoint</span> <span class="o">+</span> <span class="s2">" points&nbsp;!"</span><span class="p">)</span>
<span class="c1"># TypeError: can only concatenate str (not "int") to str</span>

<span class="n">strPoint</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">intPoint</span><span class="p">)</span> <span class="c1"># strPoint est du type str&nbsp;: chaîne de caractères</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"Tu as "</span> <span class="o">+</span> <span class="n">strPoint</span> <span class="o">+</span> <span class="s2">" points&nbsp;!"</span><span class="p">)</span> <span class="c1"># affiche "Tu as 3 points&nbsp;!"'</span>
</pre></div>
<p>En pratique, il n'est pas utile de préfixer les noms de variables par leur type.
La conversion d'un nombre vers <code>str</code> est automatique avec une chaîne préfixée par <code>f</code> en mettant la variable entre accolades à l'intérieur de la chaîne sans opérateur <code>+</code>&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="n">nbrPoint</span> <span class="o">=</span> <span class="mf">3.2</span> <span class="c1"># Python reconnaît dynamiquement que nbrPoint est du type float</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Tu as </span><span class="si">{</span><span class="n">nbrPoint</span><span class="si">}</span><span class="s2"> points."</span><span class="p">)</span> <span class="c1"># affiche "Tu as 3.2 points."</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Tu as </span><span class="si">{</span><span class="nb">int</span><span class="p">(</span><span class="n">nbrPoint</span><span class="p">)</span><span class="si">}</span><span class="s2"> points."</span><span class="p">)</span> <span class="c1"># affiche "Tu as 3 points."</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Tu as </span><span class="si">{</span><span class="n">nbrPoint</span><span class="si">:</span><span class="s2">.0f</span><span class="si">}</span><span class="s2"> points."</span><span class="p">)</span> <span class="c1"># affiche "Tu as 3 points." avec zero décimale</span>
</pre></div>
<p>Python utilise le typage dynamique dénommé <a href="Duck_typing" title="Duck typing">duck typing</a>&nbsp;: lors de l'exécution, si une méthode invoquée sur un objet a la même <a href="Signature_de_type" title="Signature de type">signature</a> qu'une méthode déclarée sur cet objet, alors c'est cette dernière méthode qui est exécutée. De ce fait, invoquer une méthode qui n'existe pas sur un objet va échouer, signifiant que l'objet en question n'est pas du bon type.
</p><p>Python propose aussi un mécanisme de <a href="Typage_statique" title="Typage statique">typage statique</a> pour les attributs des classes grâce à l'API <i>trait</i><sup id="cite_ref-72" class="reference"><a href="#cite_note-72"><span class="cite-bracket">[</span>72<span class="cite-bracket">]</span></a></sup> ou au <a href="Patron_de_conception" title="Patron de conception">patron de conception</a> <i>decorators</i>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Annotations">Annotations</h4></div><p>
Depuis la version 3.0, Python propose l'annotation des variables dans les fonctions (introduit dans la PEP 3107<sup id="cite_ref-73" class="reference"><a href="#cite_note-73"><span class="cite-bracket">[</span>73<span class="cite-bracket">]</span></a></sup>). Ce qui permet de rendre le code plus lisible sans pour autant faire office de solution de typage statique puisque rien n'oblige à suivre ces annotations<sup id="cite_ref-74" class="reference"><a href="#cite_note-74"><span class="cite-bracket">[</span>74<span class="cite-bracket">]</span></a></sup>.</p><div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr" dir="ltr"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">hello</span><span class="p">(</span><span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<span class="k">return</span> <span class="s2">"Hello </span><span class="si">{}</span><span class="s2">&nbsp;!"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>

<span class="n">hello</span><span class="p">(</span><span class="s2">"Alice"</span><span class="p">)</span> <span class="c1"># Appel suggéré par les annotations</span>
<span class="n">hello</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span> <span class="c1"># Appel non conforme mais tout à fait fonctionnel</span>
</pre></div><p>En complément, depuis la version 3.5, Python propose le module typing<sup id="cite_ref-75" class="reference"><a href="#cite_note-75"><span class="cite-bracket">[</span>75<span class="cite-bracket">]</span></a></sup> (introduit dans la PEP 484<sup id="cite_ref-76" class="reference"><a href="#cite_note-76"><span class="cite-bracket">[</span>76<span class="cite-bracket">]</span></a></sup>).</p><div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">List</span>

<span class="k">def</span><span class="w"> </span><span class="nf">split_string</span><span class="p">(</span><span class="n">string</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
<span class="k">return</span> <span class="n">string</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">" "</span><span class="p">)</span>
</pre></div>
<div class="mw-heading mw-heading4"><h4 id="Analyse_statique">Analyse statique</h4></div>
<p>Il est possible d'effectuer une analyse statique des modules Python avec des outils comme Pylance<sup id="cite_ref-77" class="reference"><a href="#cite_note-77"><span class="cite-bracket">[</span>77<span class="cite-bracket">]</span></a></sup>, Pylint<sup id="cite_ref-cnrs2023-10-18_78-0" class="reference"><a href="#cite_note-cnrs2023-10-18-78"><span class="cite-bracket">[</span>78<span class="cite-bracket">]</span></a></sup>, mypy<sup id="cite_ref-mypy_47-1" class="reference"><a href="#cite_note-mypy-47"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup>, ou PyChecker. Sans nécessiter une exécution, ces outils repèrent des fautes ou des constructions déconseillées. Par exemple, une classe qui hérite d'une classe abstraite et qui ne redéfinit pas les méthodes abstraites, ou bien des variables utilisées avant d'être déclarées, ou encore des attributs d'instance déclarés en dehors de la méthode <code>__init__</code>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Déassembleur"><span id="D.C3.A9assembleur"></span>Déassembleur</h4></div>
<p>Il est aussi possible de générer un code intermédiaire (<a href="Bytecode" title="Bytecode">bytecode</a>) Python&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">dis</span> <span class="c1"># module déassembleur</span>
<span class="n">dis</span><span class="o">.</span><span class="n">dis</span><span class="p">(</span><span class="s2">"val = 0; val += 1"</span><span class="p">)</span>
</pre></div>
<p>Le résultat du bytecode est&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="p">[</span><span class="n">Running</span><span class="p">]</span> <span class="n">python</span> <span class="o">-</span><span class="n">u</span> <span class="s2">"c:\Tool\python\inc.py"</span>
<span class="mi">0</span> <span class="n">RESUME</span> <span class="mi">0</span>

<span class="mi">1</span> <span class="n">LOAD_CONST</span> <span class="mi">0</span> <span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="n">STORE_NAME</span> <span class="mi">0</span> <span class="p">(</span><span class="n">val</span><span class="p">)</span>
<span class="n">LOAD_NAME</span> <span class="mi">0</span> <span class="p">(</span><span class="n">val</span><span class="p">)</span>
<span class="n">LOAD_CONST</span> <span class="mi">1</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="n">BINARY_OP</span> <span class="mi">13</span> <span class="p">(</span><span class="o">+=</span><span class="p">)</span>
<span class="n">STORE_NAME</span> <span class="mi">0</span> <span class="p">(</span><span class="n">val</span><span class="p">)</span>
<span class="n">RETURN_CONST</span> <span class="mi">2</span> <span class="p">(</span><span class="kc">None</span><span class="p">)</span>

<span class="p">[</span><span class="n">Done</span><span class="p">]</span> <span class="n">exited</span> <span class="k">with</span> <span class="n">code</span><span class="o">=</span><span class="mi">0</span> <span class="ow">in</span> <span class="mf">1.645</span> <span class="n">seconds</span>
</pre></div>
<div class="mw-heading mw-heading4"><h4 id="Compilateur">Compilateur</h4></div>
<p>L'outil ligne de commande PyInstaller<sup id="cite_ref-79" class="reference"><a href="#cite_note-79"><span class="cite-bracket">[</span>79<span class="cite-bracket">]</span></a></sup> ou ses variantes (auto-py-to-exe, cx_Freeze, py2app sous macOS ou <a href="Py2exe" title="Py2exe">py2exe</a> sous Windows) permettent de «&nbsp;compiler&nbsp;» un programme Python sous forme d'un exécutable comprenant le programme, l'interpréteur Python et toutes ses bibliothèques.
</p>
<ul><li>L'inconvénient est le poids de l'exécutable. Le programme ne tourne pas plus rapidement car il n'est pas compilé sous forme de code machine.</li>
<li>L'avantage est que tout est compris dans l'exécutable&nbsp;: cela simplifie sa distribution, notamment sur une autre machine où Python n'est pas installé.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Modèle_objet"><span id="Mod.C3.A8le_objet"></span>Modèle objet</h3></div>
<p>En Python, <i>tout est objet</i><sup id="cite_ref-dive2011_80-0" class="reference"><a href="#cite_note-dive2011-80"><span class="cite-bracket">[</span>80<span class="cite-bracket">]</span></a></sup>, dans le sens qu'une variable peut contenir une <a href="R%C3%A9f%C3%A9rence_(informatique)" class="mw-redirect" title="Référence (informatique)">référence</a> vers tous les éléments manipulés par le langage&nbsp;: nombres, méthodes, modules,&nbsp;<abbr class="abbr" title="et cetera">etc.</abbr>. Néanmoins, avant la version 2.2, les classes et les instances de classes étaient un type d'objet particulier, ce qui signifiait qu'il était par exemple impossible de dériver sa propre sous-classe de l'objet <i>list</i>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Méthodes"><span id="M.C3.A9thodes"></span>Méthodes</h4></div>
<p>Le modèle objet de Python est inspiré de celui de Modula-3<sup id="cite_ref-Lutz2006XIX_31-1" class="reference"><a href="#cite_note-Lutz2006XIX-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>. Parmi ces emprunts se trouve l'obligation de déclarer l'instance de l'objet courant, conventionnellement nommée <i>self</i>, comme premier argument des méthodes, et à chaque fois que l'on souhaite accéder à une donnée de cette instance dans le corps de cette méthode. Cette pratique n'est pas naturelle pour des programmeurs venant par exemple de C++ ou Java, la profusion des <i>self</i> étant souvent critiquée comme étant une pollution visuelle qui gêne la lecture du code. Les promoteurs du <i>self</i> explicite estiment au contraire qu'il évite le recours à des conventions de nommage pour les données membres et qu'il simplifie des tâches comme l'appel à une méthode de la superclasse ou la résolution d'homonymie entre données membres<sup id="cite_ref-81" class="reference"><a href="#cite_note-81"><span class="cite-bracket">[</span>81<span class="cite-bracket">]</span></a></sup>.
</p><p>Python reconnaît trois types de méthodes&nbsp;:
</p>
<ul><li>les méthodes d'instance, qui sont celles définies par défaut. Elles reçoivent comme premier argument une instance de la classe où elles ont été définies.</li>
<li>les méthodes de classe, qui reçoivent comme premier argument la classe où elles ont été définies. Elles peuvent être appelées depuis une instance ou directement depuis la classe. Elles permettent de définir des constructeurs alternatifs comme la méthode <code>fromkeys()</code> de l'objet <code>dict</code>. Elles sont déclarées avec le décorateur <code>@classmethod</code>.</li>
<li>les méthodes statiques, qui ne reçoivent pas de premier argument implicite. Elles sont déclarées avec le décorateur <code>@staticmethod</code>.</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Visibilité"><span id="Visibilit.C3.A9"></span>Visibilité</h4></div>
<p>Le langage a un support très limité de l'<a href="Encapsulation_(programmation)" title="Encapsulation (programmation)">encapsulation</a>. Il n'y a pas, comme en Java par exemple, de contrôle de l'accessibilité par des mots clefs comme <code>protected</code> ou <code>private</code>.
</p><p>La philosophie de Python est de différencier conceptuellement l'encapsulation du masquage d'information. Le masquage d'information vise à prévenir les utilisations frauduleuses, c'est une préoccupation de <a href="S%C3%A9curit%C3%A9_du_syst%C3%A8me_d'information" class="mw-redirect" title="Sécurité du système d'information">sécurité informatique</a>. Le module <i>bastion</i> de la bibliothèque standard, qui n'est plus maintenu dans les dernières versions du langage, permettait ainsi de contrôler l'accès aux attributs d'un objet dans le cadre d'un environnement d'exécution restreint.
</p><p>L'encapsulation est une problématique de développement logiciel. Le slogan des développeurs Python est <i>we're all consenting adults here</i><sup id="cite_ref-zeste2016-10-21_82-0" class="reference"><a href="#cite_note-zeste2016-10-21-82"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup> (nous sommes entre adultes consentants). Ils estiment en effet qu'il suffit d'indiquer, par des conventions d'écriture, les parties publiques des interfaces et que c'est aux utilisateurs des objets de se conformer à ces conventions ou de prendre leurs responsabilités. L'usage est de préfixer par un underscore les membres privés. Le langage permet par ailleurs d'utiliser un double underscore pour éviter les collisions de noms, en préfixant automatiquement le nom de la donnée par celui de la classe où elle est définie.
</p><p>L'utilisation de la fonction <code>property()</code> permet de définir des propriétés qui ont pour but d'intercepter, à l'aide de méthodes, les accès à une donnée membre. Cela rend inutile la définition systématique d'<a href="Accesseur" class="mw-redirect" title="Accesseur">accesseurs</a> et le masquage des données comme il est courant de le faire en C++ par exemple.
</p>
<div class="mw-heading mw-heading4"><h4 id="Héritage"><span id="H.C3.A9ritage"></span>Héritage</h4></div>
<p>Python supporte l'<a href="H%C3%A9ritage_multiple" title="Héritage multiple">héritage multiple</a>. Depuis la version 2.3, il utilise l'<a href="Lin%C3%A9arisation_C3" title="Linéarisation C3">algorithme C3</a>, issu du langage <a href="Dylan_(langage)" title="Dylan (langage)">Dylan</a><sup id="cite_ref-83" class="reference"><a href="#cite_note-83"><span class="cite-bracket">[</span>83<span class="cite-bracket">]</span></a></sup>, pour résoudre l'ordre de résolution de méthode (<i>MRO</i>). Les versions précédentes utilisaient un <a href="Algorithme_de_parcours_en_profondeur" title="Algorithme de parcours en profondeur">algorithme de parcours en profondeur</a> qui posait des problèmes dans le cas d'un <a href="H%C3%A9ritage_en_diamant" class="mw-redirect" title="Héritage en diamant">héritage en diamant</a><sup id="cite_ref-84" class="reference"><a href="#cite_note-84"><span class="cite-bracket">[</span>84<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Bibliothèque_standard"><span id="Biblioth.C3.A8que_standard"></span>Bibliothèque standard</h2></div>

<p>Python possède une grande <a href="Biblioth%C3%A8que_standard" title="Bibliothèque standard">bibliothèque standard</a>, fournissant des outils convenant à de nombreuses tâches diverses. Le nombre de modules de la bibliothèque standard peut être augmenté avec des modules spécifiques écrits en C ou en Python.
</p><p>La bibliothèque standard est particulièrement bien conçue pour écrire des applications utilisant Internet, avec un grand nombre de formats et de protocoles standards gérés (tels que <a href="Multipurpose_Internet_Mail_Extensions" title="Multipurpose Internet Mail Extensions">MIME</a> et <a href="Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a>). Des modules pour créer des <a href="Interface_graphique" title="Interface graphique">interfaces graphiques</a> et manipuler des <a href="Expression_r%C3%A9guli%C3%A8re" title="Expression régulière">expressions rationnelles</a> sont également fournis. Python inclut également un <a href="Framework" title="Framework">framework</a> de <a href="Test_unitaire" title="Test unitaire">tests unitaires</a> (<code>unittest</code>, anciennement <a href="PyUnit" title="PyUnit">PyUnit</a> avant version 2.1) pour créer des suites de tests exhaustives.
</p>
<div class="mw-heading mw-heading2"><h2 id="Conventions_de_style">Conventions de style</h2></div>
<p>Bien que chaque programmeur puisse adopter ses propres conventions pour l'écriture de code Python, <a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a> a mis un guide à disposition, référencé comme PEP 8<sup id="cite_ref-pep8_53-1" class="reference"><a href="#cite_note-pep8-53"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-cnrs2023-10-18_78-1" class="reference"><a href="#cite_note-cnrs2023-10-18-78"><span class="cite-bracket">[</span>78<span class="cite-bracket">]</span></a></sup>. Publié en 2001, il est toujours maintenu pour l'adapter aux évolutions du langage. <a href="Google" title="Google">Google</a> propose également un guide<sup id="cite_ref-google-pyguide_85-0" class="reference"><a href="#cite_note-google-pyguide-85"><span class="cite-bracket">[</span>85<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Interfaces_graphiques">Interfaces graphiques</h2></div>

<p>Python possède plusieurs modules disponibles pour la création de logiciels avec une <a href="Interface_graphique" title="Interface graphique">interface graphique</a>. Le plus répandu est <a href="Tkinter" title="Tkinter">Tkinter</a><sup id="cite_ref-Swinnen201279-105_86-0" class="reference"><a href="#cite_note-Swinnen201279-105-86"><span class="cite-bracket">[</span>86<span class="cite-bracket">]</span></a></sup>. Ce module convient à beaucoup d'applications et peut être considéré comme suffisant dans la plupart des cas. Néanmoins, d'autres modules ont été créés pour pouvoir lier Python à d'autres <a href="Biblioth%C3%A8ques_logicielles" class="mw-redirect" title="Bibliothèques logicielles">bibliothèques logicielles</a> («&nbsp;<i><a href="Toolkit" title="Toolkit">toolkit</a></i>&nbsp;»), pour davantage de fonctionnalités, pour une meilleure intégration avec le <a href="Syst%C3%A8me_d'exploitation" title="Système d'exploitation">système d'exploitation</a> utilisé, ou simplement pour pouvoir utiliser Python avec sa bibliothèque préférée. En effet, certains programmeurs trouvent l'utilisation de Tkinter plus pénible que d'autres bibliothèques. Ces autres modules ne font pas partie de la bibliothèque standard et doivent donc être obtenus séparément.
</p><p>Les principaux modules donnant accès aux bibliothèques d'interface graphique sont <a href="Tkinter" title="Tkinter">Tkinter</a> et Pmw<sup id="cite_ref-87" class="reference"><a href="#cite_note-87"><span class="cite-bracket">[</span>87<span class="cite-bracket">]</span></a></sup> (Python megawidgets) pour <a href="Tk_(informatique)" title="Tk (informatique)">Tk</a>, <a href="WxPython" title="WxPython">wxPython</a> pour <a href="WxWidgets" title="WxWidgets">wxWidgets</a>, <a href="PyGTK" title="PyGTK">PyGTK</a> pour <a href="GTK_(bo%C3%AEte_%C3%A0_outils)" title="GTK (boîte à outils)">GTK</a>, <a href="PyQt" title="PyQt">PyQt</a> et <a href="PySide" title="PySide">PySide</a> pour <a href="Qt" title="Qt">Qt</a>, et enfin FxPy pour le <a href="FOX_Toolkit" title="FOX Toolkit">FOX Toolkit</a>. Il existe aussi une adaptation de la bibliothèque <a href="Simple_DirectMedia_Layer" title="Simple DirectMedia Layer">SDL</a>&nbsp;: <a href="Pygame" title="Pygame">Pygame</a>, un <a href="Binding" title="Binding">binding</a> de la <a href="SFML" class="mw-redirect" title="SFML">SFML</a>&nbsp;: PySFML, ainsi qu'une bibliothèque écrite spécialement pour Python&nbsp;: <a href="Pyglet" title="Pyglet">Pyglet</a>.
</p><p>Il est aussi possible de créer des applications <a href="Silverlight" title="Silverlight">Silverlight</a> en Python sur la plateforme <a href="IronPython" title="IronPython">IronPython</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="La_communauté_Python"><span id="La_communaut.C3.A9_Python"></span>La communauté Python</h2></div>
<p><a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a> est le principal auteur de Python, un langage de programmation largement utilisé dans divers domaines, allant du développement web à l'intelligence artificielle. Son rôle central dans l'évolution de Python lui a valu le titre humoristique de «&nbsp;Dictateur bienveillant à vie&nbsp;» (<i><a href="Benevolent_Dictator_for_Life" title="Benevolent Dictator for Life">Benevolent Dictator for Life</a></i>, BDFL<sup id="cite_ref-medium2018-11-13_88-0" class="reference"><a href="#cite_note-medium2018-11-13-88"><span class="cite-bracket">[</span>88<span class="cite-bracket">]</span></a></sup>) «&nbsp;par intérim<sup id="cite_ref-lemonde2025-09-17_27-1" class="reference"><a href="#cite_note-lemonde2025-09-17-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>&nbsp;». Cependant, en <time class="nowrap" datetime="2018-07" data-sort-value="2018-07">juillet 2018</time>, Guido van Rossum a annoncé sa retraite de ce rôle, se déclarant en «&nbsp;vacances permanentes&nbsp;» de ses responsabilités de BDFL<sup id="cite_ref-89" class="reference"><a href="#cite_note-89"><span class="cite-bracket">[</span>89<span class="cite-bracket">]</span></a></sup>. Par la suite, en <time class="nowrap" datetime="2019-11" data-sort-value="2019-11">novembre 2019</time>, il a également retiré sa candidature au conseil directeur du langage Python<sup id="cite_ref-90" class="reference"><a href="#cite_note-90"><span class="cite-bracket">[</span>90<span class="cite-bracket">]</span></a></sup>.
</p><p>Après le retrait de van Rossum, la gouvernance de Python est passée à un modèle plus démocratique, sous la direction d'un Conseil directeur composé de cinq membres élus. Ces membres sont principalement issus de la communauté des <i>core developers</i>, une équipe de développeurs ayant un accès en écriture au dépôt de <a href="CPython" title="CPython">CPython</a>, l'implémentation de référence du langage Python. Cette équipe se coordonne principalement via la <a href="Liste_de_diffusion" title="Liste de diffusion">liste de diffusion</a> python-dev, où sont discutées et décidées les évolutions du langage et de sa bibliothèque standard.
</p><p>Les contributions de la communauté sont encouragées, et les développeurs tiers peuvent soumettre des améliorations via la plateforme de gestion de bugs et de suivi de tâches <a href="Roundup_(bugtracker)" title="Roundup (bugtracker)">Roundup</a>, qui a remplacé l'ancien système basé sur <a href="SourceForge_(logiciel)" class="mw-redirect" title="SourceForge (logiciel)">SourceForge</a>. La transition vers <a href="GitHub" title="GitHub">GitHub</a> en 2017 a également facilité la collaboration ouverte et la contribution au code source de Python.
</p><p>Les utilisateurs et développeurs de bibliothèques tierces peuvent échanger via diverses autres ressources en ligne, notamment le forum Usenet anglophone comp.lang.python, ainsi que des forums, mailing lists, et réseaux sociaux plus modernes comme <a href="Reddit" title="Reddit">Reddit</a> ou <a href="Discord" class="mw-disambig" title="Discord">Discord</a>.
</p><p>Les références aux Monty Python<sup id="cite_ref-Lutz200917_30-1" class="reference"><a href="#cite_note-Lutz200917-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>, une troupe comique britannique, sont un élément récurrent dans la culture Python<sup id="cite_ref-91" class="reference"><a href="#cite_note-91"><span class="cite-bracket">[</span>91<span class="cite-bracket">]</span></a></sup>. Illustrant l'humour décalé<sup id="cite_ref-92" class="reference"><a href="#cite_note-92"><span class="cite-bracket">[</span>92<span class="cite-bracket">]</span></a></sup> et omniprésent dans la communauté Python, la documentation du langage utilise souvent les termes <i>spam</i> et <i>eggs</i> comme <a href="Variable_m%C3%A9tasyntaxique" title="Variable métasyntaxique">espace réservé</a>, en référence au célèbre sketch <i><a href="Spam_(sketch)" title="Spam (sketch)">Spam</a></i> des <a href="Monty_Python" title="Monty Python">Monty Python</a>, où le SPAM (un jambon en conserve) est le leitmotiv du menu truffé d'expressions en français. Ce sketch a d'ailleurs donné son nom au phénomène du <a href="Spam" title="Spam">courriel non sollicité</a><sup id="cite_ref-93" class="reference"><a href="#cite_note-93"><span class="cite-bracket">[</span>93<span class="cite-bracket">]</span></a></sup>.
</p><p>Les résultats peuvent différer par rapport à la documentation officielle de Python<sup id="cite_ref-94" class="reference"><a href="#cite_note-94"><span class="cite-bracket">[</span>94<span class="cite-bracket">]</span></a></sup>&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-powershell mw-content-ltr" dir="ltr"><pre><span></span><span class="n">Command-line</span> <span class="n">example</span>
<span class="n">Here</span> <span class="n">are</span> <span class="n">some</span> <span class="n">examples</span> <span class="n">of</span> <span class="n">the</span> <span class="n">random</span> <span class="n">command-line</span> <span class="n">interface</span><span class="p">:</span>
<span class="nb">PS </span><span class="n">C</span><span class="p">:\</span><span class="n">Tool</span><span class="p">\</span><span class="n">python</span><span class="p">&gt;</span> <span class="c"># Choose one at random</span>
<span class="nb">PS </span><span class="n">C</span><span class="p">:\</span><span class="n">Tool</span><span class="p">\</span><span class="n">python</span><span class="p">&gt;</span> <span class="n">python</span> <span class="n">-m</span> <span class="n">random</span> <span class="n">egg</span> <span class="n">bacon</span> <span class="n">sausage</span> <span class="n">spam</span> <span class="s2">"Lobster Thermidor aux crevettes with a Mornay sauce"</span>
<span class="n">spam</span>
<span class="nb">PS </span><span class="n">C</span><span class="p">:\</span><span class="n">Tool</span><span class="p">\</span><span class="n">python</span><span class="p">&gt;</span> <span class="n">python</span> <span class="n">-m</span> <span class="n">random</span> <span class="n">egg</span> <span class="n">bacon</span> <span class="n">sausage</span> <span class="n">spam</span> <span class="s2">"Lobster Thermidor aux crevettes with a Mornay sauce"</span>
<span class="n">egg</span>
<span class="nb">PS </span><span class="n">C</span><span class="p">:\</span><span class="n">Tool</span><span class="p">\</span><span class="n">python</span><span class="p">&gt;</span> <span class="c"># With explicit arguments</span>
<span class="nb">PS </span><span class="n">C</span><span class="p">:\</span><span class="n">Tool</span><span class="p">\</span><span class="n">python</span><span class="p">&gt;</span> <span class="n">python</span> <span class="n">-m</span> <span class="n">random</span> <span class="p">-</span><span class="n">-choice</span> <span class="n">egg</span> <span class="n">bacon</span> <span class="n">sausage</span> <span class="n">spam</span> <span class="s2">"Lobster Thermidor aux crevettes with a Mornay sauce"</span>
<span class="n">Lobster</span> <span class="n">Thermidor</span> <span class="n">aux</span> <span class="n">crevettes</span> <span class="n">with</span> <span class="n">a</span> <span class="n">Mornay</span> <span class="n">sauce</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Adoption_de_Python">Adoption de Python</h3></div>

<p>Plusieurs entreprises ou organismes mentionnent sur leur site officiel<sup id="cite_ref-95" class="reference"><a href="#cite_note-95"><span class="cite-bracket">[</span>95<span class="cite-bracket">]</span></a></sup> qu'elles utilisent Python&nbsp;:
</p>
<ul><li><a href="Google" title="Google">Google</a> utilise Python comme langage principal parmi les langages dynamiques<sup id="cite_ref-google-pyguide_85-1" class="reference"><a href="#cite_note-google-pyguide-85"><span class="cite-bracket">[</span>85<span class="cite-bracket">]</span></a></sup>. <a href="Guido_van_Rossum" title="Guido van Rossum">Guido van Rossum</a> a travaillé au sein de cette entreprise entre 2005 et 2012<sup id="cite_ref-96" class="reference"><a href="#cite_note-96"><span class="cite-bracket">[</span>96<span class="cite-bracket">]</span></a></sup>&nbsp;;</li>
<li><a href="Microsoft" title="Microsoft">Microsoft</a>&nbsp;: depuis 2020, Guido van Rossum a rejoint cette entreprise<sup id="cite_ref-LMI2020-11-13_10-2" class="reference"><a href="#cite_note-LMI2020-11-13-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>&nbsp;;</li>
<li><a href="Industrial_Light_%26_Magic" title="Industrial Light &amp; Magic">Industrial Light &amp; Magic</a>&nbsp;;</li>
<li><a href="Instagram" title="Instagram">Instagram</a><sup id="cite_ref-stack2017-06-14_97-0" class="reference"><a href="#cite_note-stack2017-06-14-97"><span class="cite-bracket">[</span>97<span class="cite-bracket">]</span></a></sup>&nbsp;;</li>
<li>la <a href="National_Aeronautics_and_Space_Administration" title="National Aeronautics and Space Administration">NASA</a><sup id="cite_ref-nasa024-06-21_98-0" class="reference"><a href="#cite_note-nasa024-06-21-98"><span class="cite-bracket">[</span>98<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-zdnet2002-07-04_99-0" class="reference"><a href="#cite_note-zdnet2002-07-04-99"><span class="cite-bracket">[</span>99<span class="cite-bracket">]</span></a></sup>&nbsp;;</li>
<li>et CCP Games, les créateurs du <a href="Jeu_vid%C3%A9o" title="Jeu vidéo">jeu vidéo</a> <a href="EVE_Online" class="mw-redirect" title="EVE Online">EVE Online</a>.</li></ul>
<p>Python est aussi le langage de commande d'un grand nombre de logiciels libres&nbsp;:
</p>
<ul><li><a href="FreeCAD" title="FreeCAD">FreeCAD</a>, logiciel de <a href="Conception_assist%C3%A9e_par_ordinateur" title="Conception assistée par ordinateur">CAO</a> 3D</li>
<li><a href="Blender" title="Blender">Blender</a>, logiciel de <a href="Mod%C3%A9lisation_tridimensionnelle" title="Modélisation tridimensionnelle">modélisation 3D</a> et d'<a href="Montage_vid%C3%A9o" title="Montage vidéo">édition vidéo</a></li>
<li><a href="Inkscape" title="Inkscape">Inkscape</a>, logiciel de <a href="Image_vectorielle" title="Image vectorielle">dessin vectoriel</a></li>
<li><a href="LibreOffice" title="LibreOffice">LibreOffice</a> et <a href="Apache_OpenOffice" title="Apache OpenOffice">Apache OpenOffice</a>, les deux branches de développement d'une <a href="Suite_bureautique" title="Suite bureautique">suite bureautique</a> issue de <a href="StarOffice" title="StarOffice">StarOffice</a></li>
<li>Portage&nbsp;<a href="https://en.wikipedia.org/wiki/Portage_(software)" class="extiw external" title="en:Portage (software)"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Portage (software)&nbsp;»">(en)</span></a>, le gestionnaire de paquets du <a href="Syst%C3%A8me_d'exploitation" title="Système d'exploitation">système d'exploitation</a> <a href="Gentoo" class="mw-redirect" title="Gentoo">Gentoo</a></li>
<li><a href="ParaView" title="ParaView">ParaView</a>, logiciel de visualisation de <a href="Donn%C3%A9e_num%C3%A9rique" title="Donnée numérique">données numériques</a></li>
<li><a href="Kodi_Entertainment_Center" class="mw-redirect" title="Kodi Entertainment Center">Kodi</a>, un <a href="Lecteur_multim%C3%A9dia" title="Lecteur multimédia">lecteur multimédia</a></li>
<li><a href="QGIS" title="QGIS">QGIS</a>, un logiciel de <a href="Cartographie" title="Cartographie">cartographie</a></li>
<li><a href="Weblate" title="Weblate">Weblate</a>, un outil de <a href="Traduction" title="Traduction">traduction</a></li>
<li><a href="Gedit" title="Gedit">gedit</a>, un éditeur de texte (les plugins sont écrits en Python)</li>
<li><a href="SageMath" title="SageMath">SageMath</a>, un logiciel de calcul formel</li></ul>
<p>Et commerciaux&nbsp;:
</p>
<ul><li><a href="Wing_IDE" title="Wing IDE">Wing IDE</a>, <a href="Environnement_de_d%C3%A9veloppement_int%C3%A9gr%C3%A9" class="mw-redirect" title="Environnement de développement intégré">environnement de développement intégré</a> spécialisé sur Python, et écrit en Python</li>
<li><a href="Corel_Paint_Shop_Pro" title="Corel Paint Shop Pro">Corel Paint Shop Pro</a>, logiciel de traitement d'image et d'édition graphique</li>
<li><a href="Capella_(notation_musicale)" title="Capella (notation musicale)">capella</a>, logiciel de notation musicale</li>
<li><a href="ArcGIS" title="ArcGIS">ArcGIS</a><sup id="cite_ref-100" class="reference"><a href="#cite_note-100"><span class="cite-bracket">[</span>100<span class="cite-bracket">]</span></a></sup>, un logiciel de cartographie</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Implémentations_du_langage"><span id="Impl.C3.A9mentations_du_langage"></span>Implémentations du langage</h2></div>
<p>Outre la version de référence, nommée <a href="CPython" title="CPython">CPython</a> (car écrite en langage <a href="C_(langage)" title="C (langage)">C</a>), il existe d'autres systèmes mettant en œuvre le langage Python<sup id="cite_ref-101" class="reference"><a href="#cite_note-101"><span class="cite-bracket">[</span>101<span class="cite-bracket">]</span></a></sup>&nbsp;:
</p>
<ul><li><a href="Stackless_Python" title="Stackless Python">Stackless Python</a>, une version de CPython n'utilisant pas la <a href="Pile_d'ex%C3%A9cution" title="Pile d'exécution">pile d'appel</a> du langage C&nbsp;;</li>
<li><a href="Jython" title="Jython">Jython</a>, un <a href="Interpr%C3%A8te_(informatique)" title="Interprète (informatique)">interprète</a> Python pour <a href="Machine_virtuelle_Java" title="Machine virtuelle Java">machine virtuelle Java</a>. Il a accès aux bibliothèques fournies avec l'<a href="Environnement_de_d%C3%A9veloppement" title="Environnement de développement">environnement de développement</a> <a href="Java_(langage)" title="Java (langage)">Java</a>&nbsp;;</li>
<li><a href="IronPython" title="IronPython">IronPython</a>, un interprète / compilateur (expérimental) pour plateforme <a href="Microsoft_.NET" title="Microsoft .NET">.Net</a> / <a href="Mono_(informatique)" class="mw-redirect" title="Mono (informatique)">Mono</a>&nbsp;;</li>
<li>Brython<sup id="cite_ref-102" class="reference"><a href="#cite_note-102"><span class="cite-bracket">[</span>102<span class="cite-bracket">]</span></a></sup>, une implémentation de Python 3 pour les navigateurs web&nbsp;;</li>
<li><a href="MicroPython" title="MicroPython">MicroPython</a>, variante légère pour <a href="Microcontr%C3%B4leur" title="Microcontrôleur">microcontrôleurs</a>&nbsp;;</li>
<li><a href="PyPy" title="PyPy">PyPy</a> un interprète Python écrit dans un sous-ensemble de Python compilable vers le <a href="C_(langage)" title="C (langage)">C</a> ou <a href="LLVM" title="LLVM">LLVM</a>&nbsp;;</li>
<li>un <a href="Compilateur" title="Compilateur">compilateur</a> (expérimental) pour <a href="Parrot_(machine_virtuelle)" title="Parrot (machine virtuelle)">Parrot</a>, la <a href="Machine_virtuelle" title="Machine virtuelle">machine virtuelle</a> de <a href="Perl_(langage)" title="Perl (langage)">Perl</a> 6&nbsp;;</li>
<li><a href="Shed_Skin" title="Shed Skin">Shed Skin</a><sup id="cite_ref-103" class="reference"><a href="#cite_note-103"><span class="cite-bracket">[</span>103<span class="cite-bracket">]</span></a></sup>, un compilateur d'un sous-ensemble de Python produisant du code en <a href="C%2B%2B" title="C++">C++</a>&nbsp;;</li>
<li>Unladen Swallow&nbsp;<a href="https://en.wikipedia.org/wiki/Unladen_Swallow" class="extiw external" title="en:Unladen Swallow"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Unladen Swallow&nbsp;»">(en)</span></a><sup id="cite_ref-104" class="reference"><a href="#cite_note-104"><span class="cite-bracket">[</span>104<span class="cite-bracket">]</span></a></sup>, une version de CPython optimisée et basée sur LLVM archivée en <time class="nowrap" datetime="2009-10" data-sort-value="2009-10">octobre 2009</time>&nbsp;;</li>
<li><i>RustPython</i> est un interpréteur Python 3 en <a href="Rust_(langage)" title="Rust (langage)">Rust</a><sup id="cite_ref-105" class="reference"><a href="#cite_note-105"><span class="cite-bracket">[</span>105<span class="cite-bracket">]</span></a></sup>&nbsp;;</li>
<li>PySpark est une interface de programmation permettant d'utiliser <a href="Apache_Spark" title="Apache Spark">Spark</a> à partir du langage Python pour faire des <a href="Calcul_distribu%C3%A9" title="Calcul distribué">calculs distribués</a>.</li></ul>
<p>Ces autres versions ne bénéficient pas forcément de la totalité de la bibliothèque de fonctions écrites en C pour la version de référence, ni des dernières évolutions du langage.
</p>
<div class="mw-heading mw-heading2"><h2 id="Distributions">Distributions</h2></div>
<p>Différentes distributions sont disponibles, qui incluent des <a href="Paquet_(logiciel)" title="Paquet (logiciel)">paquets</a> dédiés à un domaine donné&nbsp;:
</p>
<ul><li>La version officielle<sup id="cite_ref-106" class="reference"><a href="#cite_note-106"><span class="cite-bracket">[</span>106<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-Swinnen2012X,_381_107-0" class="reference"><a href="#cite_note-Swinnen2012X,_381-107"><span class="cite-bracket">[</span>107<span class="cite-bracket">]</span></a></sup> de la fondation logicielle Python. Les bibliothèques complémentaires sont à installer à la demande avec pip, conda ou poetry.</li>
<li>ActivePython<sup id="cite_ref-dive2011_80-1" class="reference"><a href="#cite_note-dive2011-80"><span class="cite-bracket">[</span>80<span class="cite-bracket">]</span></a></sup>&nbsp;: disponible en version gratuite (ne pouvant être «&nbsp;utilisée en production&nbsp;») ou commerciale.</li>
<li>Enthought&nbsp;<a href="https://en.wikipedia.org/wiki/Enthought" class="extiw external" title="en:Enthought"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Enthought&nbsp;»">(en)</span></a> Canopy&nbsp;: distribution commerciale à usage scientifique, disponible en version gratuite sous le nom de Canopy Express<sup id="cite_ref-108" class="reference"><a href="#cite_note-108"><span class="cite-bracket">[</span>108<span class="cite-bracket">]</span></a></sup>.</li>
<li><a href="Anaconda_(Python_distribution)" class="mw-redirect" title="Anaconda (Python distribution)">Anaconda</a> ou Miniconda<sup id="cite_ref-FuchsPoulain2024383_109-0" class="reference"><a href="#cite_note-FuchsPoulain2024383-109"><span class="cite-bracket">[</span>109<span class="cite-bracket">]</span></a></sup> optimisée en taille&nbsp;: distribution à usage scientifique, disponible en version gratuite ou commerciale.</li>
<li><a href="Intel" title="Intel">Intel</a> Distribution for Python&nbsp;: distribution installable par conda ou pip, intégrant la bibliothèque oneMKL du noyau mathématique Python&nbsp;<a href="https://en.wikipedia.org/wiki/Math_Kernel_Library" class="extiw external" title="en:Math Kernel Library"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Math Kernel Library&nbsp;»">(en)</span></a> d'Intel afin d'accélérer les calculs numériques<sup id="cite_ref-nasa024-06-21_98-1" class="reference"><a href="#cite_note-nasa024-06-21-98"><span class="cite-bracket">[</span>98<span class="cite-bracket">]</span></a></sup> de <a href="NumPy" title="NumPy">NumPy</a> et <a href="SciPy" title="SciPy">SciPy</a>. Elle est disponible gratuitement seule, ou bien intégrée à <a href="Intel_Parallel_Studio" title="Intel Parallel Studio">Intel Parallel Studio</a>, qui nécessite une licence payante.</li>
<li>Pyzo&nbsp;: distribution scientifique destinée à être facile d'utilisation<sup id="cite_ref-CordeauPointal2025xiv,_6_110-0" class="reference"><a href="#cite_note-CordeauPointal2025xiv,_6-110"><span class="cite-bracket">[</span>110<span class="cite-bracket">]</span></a></sup>.</li>
<li>WinPython<sup id="cite_ref-111" class="reference"><a href="#cite_note-111"><span class="cite-bracket">[</span>111<span class="cite-bracket">]</span></a></sup>&nbsp;: distribution à usage scientifique avec l'éditeur <a href="Spyder_(logiciel)" title="Spyder (logiciel)">Spyder</a>.</li></ul>
<p>Ce ne sont pas des <i>implémentations</i> différentes du langage Python&nbsp;: elles sont basées sur la référence CPython, mais sont livrées avec plus ou moins de bibliothèques préinstallées. Ces modules tiers<sup id="cite_ref-LMI2020-11-13_10-3" class="reference"><a href="#cite_note-LMI2020-11-13-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> peuvent être en versions différentes d'une distribution à l'autre, introduire des contraintes de dépendance ou avoir des cycles de développement propres qui peuvent ne pas être synchronisés avec la dernière version officielle.
</p>
<div class="mw-heading mw-heading2"><h2 id="Développement"><span id="D.C3.A9veloppement"></span>Développement</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Les_PEP">Les PEP</h3></div>
<p>Les propositions d'amélioration de Python (ou PEP&nbsp;: <i>Python Enhancement Proposal</i>) sont des documents textuels qui ont pour objet d'être la voie d'amélioration de Python et de précéder toutes ses modifications<sup id="cite_ref-112" class="reference"><a href="#cite_note-112"><span class="cite-bracket">[</span>112<span class="cite-bracket">]</span></a></sup>. Un PEP est une proposition d'orientation pour le développement <i>(process PEP)</i>, une proposition technique <i>(Standard Track PEP)</i> ou une simple recommandation (<i>Informational PEP</i>). La PEP la plus connue est la PEP 8<sup id="cite_ref-pep8_53-2" class="reference"><a href="#cite_note-pep8-53"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup> pour son guide sur le style de code.
</p>
<div class="mw-heading mw-heading3"><h3 id="Historique_des_versions">Historique des versions</h3></div>
<div class="timeline-wrapper"></div>
<p>L'historique présente un extrait des nouveautés majeures du logiciel Python par version avec la date de début de sortie et celle de fin de support. Les mises à jour de sécurité sont assurées jusqu'à la date entre parenthèses.
</p><p>Chaque nouveauté correspond à une proposition d'amélioration de Python (PEP) acceptée dont le numéro apparaît en dernière colonne. Ce tableau n'est pas exhaustif. Se reporter, en première colonne, à chaque version pour l'ensemble des liens des PEP avec leurs auteurs.
<style data-mw-deduplicate="TemplateStyles:r213934075">
/* start https://fr.wikipedia.org/ */


@media screen{.mw-parser-output .sticky-header>thead>tr:first-child,.mw-parser-output .sticky-header>caption+tbody>tr:first-child,.mw-parser-output .sticky-header>tbody:first-child>tr:first-child,.mw-parser-output .sticky-header-multi>thead{position:sticky;top:0;z-index:10}.mw-parser-output .sticky-header:not(.wikitable),.mw-parser-output .sticky-header-multi:not(.wikitable),body.skin-minerva .mw-parser-output .sticky-header-multi.wikitable{background-color:white}.mw-parser-output .sticky-header-multi>thead,.mw-parser-output .sticky-header:not(.wikitable)>thead,.mw-parser-output .sticky-header:not(.wikitable)>tbody,.mw-parser-output .sticky-header:not(.wikitable)>thead>tr,.mw-parser-output .sticky-header:not(.wikitable)>tbody>tr{background-color:inherit}.mw-parser-output .sticky-header.wikitable,.mw-parser-output .sticky-header-multi.wikitable{border-collapse:separate;border-spacing:0;border-width:0 1px 1px 0}.mw-parser-output .sticky-header.wikitable td,.mw-parser-output .sticky-header.wikitable th,.mw-parser-output .sticky-header-multi.wikitable td,.mw-parser-output .sticky-header-multi.wikitable th{border-width:1px 0 0 1px}body.skin-timeless .mw-parser-output .sticky-header.wikitable,body.skin-timeless .mw-parser-output .sticky-header-multi.wikitable{border-bottom-width:0.2em;padding:0}.mw-parser-output .sticky-header.static-row-numbers.wikitable tr::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable tr::before{border-left-width:1px}.mw-parser-output .sticky-header.static-row-numbers.wikitable>thead>tr:first-child::before,.mw-parser-output .sticky-header.static-row-numbers.wikitable>caption+tbody>tr:first-child::before,.mw-parser-output .sticky-header.static-row-numbers.wikitable>tbody:first-child>tr:first-child::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable>thead>tr:first-child::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable>caption+tbody>tr:first-child::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable>tbody:first-child>tr:first-child::before,.mw-parser-output .sticky-header.static-row-numbers.wikitable .sortbottom::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable .sortbottom::before{border-top-width:1px}.mw-parser-output .sticky-header.static-row-numbers.wikitable .sortbottom~.sortbottom::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable .sortbottom~.sortbottom::before{border-top-width:0}.mw-parser-output .sticky-header.static-row-numbers.wikitable>tbody>tr:not(.static-row-header)::before,.mw-parser-output .sticky-header-multi.static-row-numbers.wikitable>tbody>tr:not(.static-row-header)::before{border-bottom-width:0!important;border-right-width:0!important}}@media screen and (min-width:1000px){body.vector-sticky-header-visible .mw-parser-output .sticky-header>thead>tr:first-child,body.vector-sticky-header-visible .mw-parser-output .sticky-header>caption+tbody>tr:first-child,body.vector-sticky-header-visible .mw-parser-output .sticky-header>tbody:first-child>tr:first-child,body.vector-sticky-header-visible .mw-parser-output .sticky-header-multi>thead{top:3.125rem}}@media screen and (min-width:851px){body.skin-timeless .mw-parser-output .sticky-header>thead>tr:first-child,body.skin-timeless .mw-parser-output .sticky-header>caption+tbody>tr:first-child,body.skin-timeless .mw-parser-output .sticky-header>tbody:first-child>tr:first-child,body.skin-timeless .mw-parser-output .sticky-header-multi>thead{top:3.51em}}@media screen and (max-width:550px){body.skin-monobook .mw-parser-output .sticky-header>thead>tr:first-child,body.skin-monobook .mw-parser-output .sticky-header>caption+tbody>tr:first-child,body.skin-monobook .mw-parser-output .sticky-header>tbody:first-child>tr:first-child,body.skin-monobook .mw-parser-output .sticky-header-multi>thead{position:static}body.skin-monobook .mw-parser-output .sticky-header.wikitable,body.skin-monobook .mw-parser-output .sticky-header-multi.wikitable{border-collapse:collapse}}@media screen and (max-width:720px){body.skin-minerva .mw-parser-output .sticky-header,body.skin-minerva .mw-parser-output .sticky-header-multi{display:table}body.skin-minerva .mw-parser-output .sticky-header>caption,body.skin-minerva .mw-parser-output .sticky-header-multi>caption{display:table-caption}}


/* end https://fr.wikipedia.org/ */
</style>
</p>
<table class="wikitable sortable sticky-header mw-collapsible mw-collapsed">
<caption>Historique déroulable des versions
</caption>
<tbody><tr>
<th>Version</th>
<th>Début
</th>
<th>Fin</th>
<th class="unsortable">Nouveautés majeures
</th>
<th>PEP
</th></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="1.5.2"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 1.5.2<sup id="cite_ref-113" class="reference"><a href="#cite_note-113"><span class="cite-bracket">[</span>113<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="1998-01-03" data-sort-value="1998-01-03"><a href="3_janvier" title="3 janvier">3</a> <a href="Janvier_1998" title="Janvier 1998">janv.</a> <a href="1998_en_informatique" title="1998 en informatique">1998</a></time>
</td>
<td><time class="nowrap" datetime="1999-04-13" data-sort-value="1999-04-13">13 <abbr class="abbr" title="avril">avr.</abbr> 1999</time>
</td>
<td style="vertical-align:top;">
<ul><li>Ajout du mot clé <code>assert</code></li>
<li><code>import spam.ham.eggs</code> importe une hiérarchie de modules</li>
<li><code>regex</code> devient <a href="Expression_rationnelle" class="mw-redirect" title="Expression rationnelle">re</a></li>
<li>Les exceptions sont maintenant des classes</li></ul>
</td>
<td>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="1.6"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 1.6<sup id="cite_ref-114" class="reference"><a href="#cite_note-114"><span class="cite-bracket">[</span>114<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2000-09-05" data-sort-value="2000-09-05"><a href="5_septembre" title="5 septembre">5</a> <a href="Septembre_2000" title="Septembre 2000">sept.</a> <a href="2000_en_informatique" title="2000 en informatique">2000</a></time>
</td>
<td><time class="nowrap" datetime="2000-09" data-sort-value="2000-09"><abbr class="abbr" title="septembre">sept.</abbr> 2000</time>
</td>
<td style="vertical-align:top;">
<ul><li><code>ma_list.append('accepte un seul argument')</code></li>
<li><code>str(1L) == '1'</code> et <code>repr(1L) == '1L'</code></li>
<li>Les chaînes de caractères ont des méthodes&nbsp;: <code>" abc ".strip()</code></li>
<li>L'expression régulière <code>re</code> accepte les chaînes Unicode</li></ul>
</td>
<td>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.0"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.0<sup id="cite_ref-python2000-10-16new_38-1" class="reference"><a href="#cite_note-python2000-10-16new-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2000-10-16" data-sort-value="2000-10-16"><a href="16_octobre" title="16 octobre">16</a> <a href="Octobre_2000" title="Octobre 2000">oct.</a> <a href="2000_en_informatique" title="2000 en informatique">2000</a></time>
</td>
<td><time class="nowrap" datetime="2001-06-22" data-sort-value="2001-06-22">22 <abbr class="abbr" title="juin">juin</abbr> 2001</time>
</td>
<td style="vertical-align:top;">
<ul><li>Changement majeur&nbsp;: support d'Unicode</li>
<li>Compréhension de liste <code>[n for n in range(7) if n&nbsp;% 2 == 0]</code></li>
<li>Opérateurs avec assignement&nbsp;: <code>a += b</code>, <code>a *= b</code></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>100</li>
<li>202<sup id="cite_ref-pep-0202_64-1" class="reference"><a href="#cite_note-pep-0202-64"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup></li>
<li>203</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.1"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.1<sup id="cite_ref-115" class="reference"><a href="#cite_note-115"><span class="cite-bracket">[</span>115<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2001-04-15" data-sort-value="2001-04-15"><a href="15_avril" title="15 avril">15</a> <a href="Avril_2001" title="Avril 2001">avr.</a> <a href="2001_en_informatique" title="2001 en informatique">2001</a></time>
</td>
<td><time class="nowrap" datetime="2002-04-09" data-sort-value="2002-04-09">9 <abbr class="abbr" title="avril">avr.</abbr> 2002</time>
</td>
<td style="vertical-align:top;">
<ul><li>Ajout des références faibles (<i><span class="lang-en" lang="en">weak references</span></i>)</li>
<li>Comparaisons riches par <code>__lt__</code>, <code>__le__</code></li>
<li>Framework d'avertissement</li>
<li>Le module <code>__future__</code> rend les transitions plus douces</li>
<li>La version 2.0.1 du <time class="nowrap date-lien" datetime="2001-06" data-sort-value="2001-06"><a href="Juin_2001" title="Juin 2001">juin</a> <a href="2001_en_informatique" title="2001 en informatique">2001</a></time> est la <abbr class="abbr" title="Première">1<sup>re</sup></abbr> version compatible <a href="Licence_publique_g%C3%A9n%C3%A9rale_GNU" title="Licence publique générale GNU">GPL</a><sup id="cite_ref-116" class="reference"><a href="#cite_note-116"><span class="cite-bracket">[</span>116<span class="cite-bracket">]</span></a></sup></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>205</li>
<li>207</li>
<li>230</li>
<li>236</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.2"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.2<sup id="cite_ref-117" class="reference"><a href="#cite_note-117"><span class="cite-bracket">[</span>117<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2001-12-21" data-sort-value="2001-12-21"><a href="21_d%C3%A9cembre" title="21 décembre">21</a> <a href="D%C3%A9cembre_2001" title="Décembre 2001">déc.</a> <a href="2001_en_informatique" title="2001 en informatique">2001</a></time>
</td>
<td><time class="nowrap" datetime="2003-05-30" data-sort-value="2003-05-30">30 <abbr class="abbr" title="mai">mai</abbr> 2003</time>
</td>
<td style="vertical-align:top;">
<ul><li>Ajout des <a href="It%C3%A9rateur_(motif_de_conception)" class="mw-redirect" title="Itérateur (motif de conception)">itérateurs</a> et <a href="G%C3%A9n%C3%A9rateur_(informatique)" title="Générateur (informatique)">générateurs</a></li>
<li><code>a // b</code> pour la division entière</li>
<li>Unification de <code>Type</code> et de <code>Class</code> pour hériter des types de base</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>234</li>
<li>238</li>
<li>252</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.3"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.3<sup id="cite_ref-118" class="reference"><a href="#cite_note-118"><span class="cite-bracket">[</span>118<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2003-06-29" data-sort-value="2003-06-29"><a href="29_juin" title="29 juin">29</a> <a href="Juin_2003" title="Juin 2003">juin</a> <a href="2003_en_informatique" title="2003 en informatique">2003</a></time>
</td>
<td><time class="nowrap" datetime="2008-03-11" data-sort-value="2008-03-11">11 <abbr class="abbr" title="mars">mars</abbr> 2008</time>
</td>
<td style="vertical-align:top;">
<ul><li>Support d'<a href="Unicode" title="Unicode">Unicode</a></li>
<li>Ajout des fonctions <code>enumerate()</code> et <code>sum()</code></li>
<li>Le type <a href="Alg%C3%A8bre_de_Boole_(logique)" title="Algèbre de Boole (logique)">bool</a> est distinct d'un <code>int</code></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>277</li>
<li>279</li>
<li>285</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.4"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.4<sup id="cite_ref-119" class="reference"><a href="#cite_note-119"><span class="cite-bracket">[</span>119<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2004-11-30" data-sort-value="2004-11-30"><a href="30_novembre" title="30 novembre">30</a> <a href="Novembre_2004" title="Novembre 2004">nov.</a> <a href="2004_en_informatique" title="2004 en informatique">2004</a></time>
</td>
<td><time class="nowrap" datetime="2008-12-19" data-sort-value="2008-12-19">19 <abbr class="abbr" title="décembre">déc.</abbr> 2008</time>
</td>
<td style="vertical-align:top;">
<ul><li>Conversion automatique <code>int</code> en <code>long</code></li>
<li><code>@classmethod</code> décore fonction et méthode</li>
<li><code>reversed(xrange(1,4))</code> et <code>sorted</code> pour trier</li>
<li><code>sort</code> trie selon <code>cmp</code>, <code>key</code> et <code>L.sort(reverse=True)</code></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>237</li>
<li>318</li>
<li>322</li>
<li>327</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.5"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.5<sup id="cite_ref-120" class="reference"><a href="#cite_note-120"><span class="cite-bracket">[</span>120<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2006-09-19" data-sort-value="2006-09-19"><a href="19_septembre" title="19 septembre">19</a> <a href="Septembre_2006" title="Septembre 2006">sept.</a> <a href="2006_en_informatique" title="2006 en informatique">2006</a></time>
</td>
<td><time class="nowrap" datetime="2011-05-26" data-sort-value="2011-05-26">26 <abbr class="abbr" title="mai">mai</abbr> 2011</time>
</td>
<td style="vertical-align:top;">
<ul><li>Sans <code>:</code> dans <code>valIfTrue if condition else valIfFalse</code></li>
<li><code>from .string import name1, name2</code> en relatif</li>
<li>Méthodes <code>send</code>, <code>throw</code> et <code>close</code> de générateurs</li>
<li><code>with open('c:\tool\python\pep-343.html', 'r') as file:</code></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>308<sup id="cite_ref-pep-0308_54-1" class="reference"><a href="#cite_note-pep-0308-54"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup></li>
<li>328</li>
<li>342</li>
<li>343</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.6"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.6<sup id="cite_ref-121" class="reference"><a href="#cite_note-121"><span class="cite-bracket">[</span>121<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2008-10-01" data-sort-value="2008-10-01"><a href="1er_octobre" title="1er octobre">1<sup>er</sup></a> <a href="Octobre_2008" title="Octobre 2008">oct.</a> <a href="2008_en_informatique" title="2008 en informatique">2008</a></time>
</td>
<td><time class="nowrap" datetime="2010-08-24" data-sort-value="2010-08-24">24 <abbr class="abbr" title="août">août</abbr> 2010</time><br>
<p>(<time class="nowrap" datetime="2013-10-29" data-sort-value="2013-10-29">29 <abbr class="abbr" title="octobre">oct.</abbr> 2013</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Préparation de la migration avec Python 3</li>
<li>Modules <a href="JSON" class="mw-redirect" title="JSON">JSON</a>, multiprocessing, contextmanager et fractions</li>
<li>Nouvelle syntaxe de formatage de chaînes de caractères</li>
<li>Classes de bases abstraites</li>
<li>Décorateurs de classes</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>3xxx</li>
<li>371</li>
<li>3101</li>
<li>3119</li>
<li>3129</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="2.7"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 2.7<sup id="cite_ref-python2010new_39-1" class="reference"><a href="#cite_note-python2010new-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2010-07-03" data-sort-value="2010-07-03"><a href="3_juillet" title="3 juillet">3</a> <a href="Juillet_2010" title="Juillet 2010">juill.</a> <a href="2010_en_informatique" title="2010 en informatique">2010</a></time>
</td>
<td><time class="nowrap" datetime="2020-01-01" data-sort-value="2020-01-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> <abbr class="abbr" title="janvier">janv.</abbr> 2020</time>
</td>
<td style="vertical-align:top;">
<ul><li>Dictionnaire ordonné&nbsp;: <code>from collections import OrderedDict</code></li>
<li><code>'{:,}'.format(10800)</code> donne <code>'10,800'</code></li>
<li>Le module <code>argparse</code> analyse les arguments d'un programme</li>
<li><code>memoryview</code> visualise un objet binaire</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>372</li>
<li>378</li>
<li>389</li>
<li>3137<sup id="cite_ref-pep-3137_61-1" class="reference"><a href="#cite_note-pep-3137-61"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup></li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.0"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.0<sup id="cite_ref-python2009-02-14new_44-1" class="reference"><a href="#cite_note-python2009-02-14new-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2008-12-03" data-sort-value="2008-12-03"><a href="3_d%C3%A9cembre" title="3 décembre">3</a> <a href="D%C3%A9cembre_2008" title="Décembre 2008">déc.</a> <a href="2008_en_informatique" title="2008 en informatique">2008</a></time>
</td>
<td><time class="nowrap" datetime="2009-06-27" data-sort-value="2009-06-27">27 <abbr class="abbr" title="juin">juin</abbr> 2009</time>
</td>
<td style="vertical-align:top;">
<ul><li><code>a/b</code> est la vraie division par défaut</li>
<li>Fusion des types <code>int</code> et <code>long</code></li>
<li>Plan Python 3.0</li>
<li><code>print "Python 2"</code> devient <code>print("Python 3"</code>)</li>
<li>L'encodage source par défaut est UTF-8.</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>0237</li>
<li>0238</li>
<li>3100</li>
<li>3105</li>
<li>3120</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.1"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.1<sup id="cite_ref-python2012-04-09new_45-1" class="reference"><a href="#cite_note-python2012-04-09new-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2009-06-27" data-sort-value="2009-06-27"><a href="27_juin" title="27 juin">27</a> <a href="Juin_2009" title="Juin 2009">juin</a> <a href="2009_en_informatique" title="2009 en informatique">2009</a></time>
</td>
<td><time class="nowrap" datetime="2011-06-12" data-sort-value="2011-06-12">12 <abbr class="abbr" title="juin">juin</abbr> 2011</time><br>
<p>(<time class="nowrap" datetime="2012-06" data-sort-value="2012-06"><abbr class="abbr" title="juin">juin</abbr> 2012</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Ajout d'un type de dictionnaire ordonné,</li>
<li>Spécification du séparateur de millier,</li>
<li>Module d'entrées/sorties 'io' rendu plus rapide.</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>372</li>
<li>378</li>
<li>3116</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.2"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.2<sup id="cite_ref-122" class="reference"><a href="#cite_note-122"><span class="cite-bracket">[</span>122<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2011-02-20" data-sort-value="2011-02-20"><a href="20_f%C3%A9vrier" title="20 février">20</a> <a href="F%C3%A9vrier_2011" title="Février 2011">fév.</a> <a href="2011_en_informatique" title="2011 en informatique">2011</a></time>
</td>
<td><time class="nowrap" datetime="2013-05-13" data-sort-value="2013-05-13">13 <abbr class="abbr" title="mai">mai</abbr> 2013</time><br>
<p>(<time class="nowrap" datetime="2016-02-20" data-sort-value="2016-02-20">20 <abbr class="abbr" title="février">fév.</abbr> 2016</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Le module <code>argparse</code> analyse les arguments d'un programme</li>
<li>Modification de la gestion des fichiers compilés <code>.pyc</code></li>
<li>Ajout des certificats pour le protocole HTTPS</li>
<li>Amélioration du module <code>pickle</code></li>
<li>Réintroduction de la fonction <code>callable()</code></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>389</li>
<li>3147</li>
<li>3333</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.3"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.3<sup id="cite_ref-123" class="reference"><a href="#cite_note-123"><span class="cite-bracket">[</span>123<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2012-09-29" data-sort-value="2012-09-29"><a href="29_septembre" title="29 septembre">29</a> <a href="Septembre_2012" title="Septembre 2012">sept.</a> <a href="2012_en_informatique" title="2012 en informatique">2012</a></time>
</td>
<td><time class="nowrap" datetime="2014-03-08" data-sort-value="2014-03-08">8 <abbr class="abbr" title="mars">mars</abbr> 2014</time><br>
<p>(<time class="nowrap" datetime="2017-09-29" data-sort-value="2017-09-29">29 <abbr class="abbr" title="septembre">sept.</abbr> 2017</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li><code>yield from</code> dans <code>for</code></li>
<li><code>venv</code> incorpore des fonctionnalités du module <code>virtualenv</code></li>
<li>Refonte de la hiérarchie des erreurs système (I/O).</li>
<li><code>u'unicode'</code> est de nouveau acceptée</li>
<li>Le module <code>faulthandler</code> pour déboguer</li>
<li>Support pour la compression <a href="LZMA" title="LZMA">LZMA</a></li>
<li>Module <code>unittest.mock</code> pour les <a href="Mock_(programmation_orient%C3%A9e_objet)" title="Mock (programmation orientée objet)">Mock</a></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>380<sup id="cite_ref-pep-0380_67-1" class="reference"><a href="#cite_note-pep-0380-67"><span class="cite-bracket">[</span>67<span class="cite-bracket">]</span></a></sup></li>
<li>405</li>
<li>3151</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.4"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.4<sup id="cite_ref-124" class="reference"><a href="#cite_note-124"><span class="cite-bracket">[</span>124<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2014-03-16" data-sort-value="2014-03-16"><a href="16_mars" title="16 mars">16</a> <a href="Mars_2014" title="Mars 2014">mars</a> <a href="2014_en_informatique" title="2014 en informatique">2014</a></time>
</td>
<td><time class="nowrap" datetime="2017-08-09" data-sort-value="2017-08-09">9 <abbr class="abbr" title="août">août</abbr> 2017</time><br>
<p>(<time class="nowrap" datetime="2019-03-18" data-sort-value="2019-03-18">18 <abbr class="abbr" title="mars">mars</abbr> 2019</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Asynchrone programmation avec le module <code>asyncio</code>.</li>
<li>Le gestionnaire de packet <code>pip</code><sup id="cite_ref-FuchsPoulain2024383_109-1" class="reference"><a href="#cite_note-FuchsPoulain2024383-109"><span class="cite-bracket">[</span>109<span class="cite-bracket">]</span></a></sup> est fourni.</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>3156</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.5"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.5<sup id="cite_ref-125" class="reference"><a href="#cite_note-125"><span class="cite-bracket">[</span>125<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap date-lien" datetime="2015-09-13" data-sort-value="2015-09-13"><a href="13_septembre" title="13 septembre">13</a> <a href="Septembre_2015" title="Septembre 2015">sept.</a> <a href="2015_en_informatique" title="2015 en informatique">2015</a></time>
</td>
<td><time class="nowrap" datetime="2017-08-08" data-sort-value="2017-08-08">8 <abbr class="abbr" title="août">août</abbr> 2017</time><br>
<p>(<time class="nowrap" datetime="2020-09-13" data-sort-value="2020-09-13">13 <abbr class="abbr" title="septembre">sept.</abbr> 2020</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li><code>MatrixA @ MatrixB</code> multiplie deux matrices</li>
<li><code>import typing</code> pour le type hinting.</li>
<li><code>await</code> et <code>async</code> pour la programmation asynchrone</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>465</li>
<li>484</li>
<li>492</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.6"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.6<sup id="cite_ref-126" class="reference"><a href="#cite_note-126"><span class="cite-bracket">[</span>126<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2016-12-23" data-sort-value="2016-12-23">23 <abbr class="abbr" title="décembre">déc.</abbr> 2016</time>
</td>
<td><time class="nowrap" datetime="2018-12-24" data-sort-value="2018-12-24">24 <abbr class="abbr" title="décembre">déc.</abbr> 2018</time><br>
<p>(<time class="nowrap" datetime="2021-12" data-sort-value="2021-12"><abbr class="abbr" title="décembre">déc.</abbr> 2021</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Formattage des <code>f</code>"chaînes de caractères"<sup id="cite_ref-FuchsPoulain202426_127-0" class="reference"><a href="#cite_note-FuchsPoulain202426-127"><span class="cite-bracket">[</span>127<span class="cite-bracket">]</span></a></sup>&nbsp;:</li></ul>
<div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr" dir="ltr"><pre><span></span><span class="o">&gt;&gt;&gt;</span> <span class="n">nbr</span> <span class="o">=</span> <span class="mi">42</span>
<span class="o">&gt;&gt;&gt;</span> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'f-string = </span><span class="si">{</span><span class="n">nbr</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span> <span class="c1"># f-string = 42</span>
</pre></div>
<ul><li>Le module <code>secrets</code> génère un <a href="G%C3%A9n%C3%A9rateur_de_nombres_pseudo-al%C3%A9atoires" title="Générateur de nombres pseudo-aléatoires">nombre pseudo-aléatoire</a>.</li>
<li>Grand nombre avec "_"&nbsp;: <code>1_000_000</code>.</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>498<br><br><br><br><br></li>
<li>506</li>
<li>515</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.7"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.7<sup id="cite_ref-128" class="reference"><a href="#cite_note-128"><span class="cite-bracket">[</span>128<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2018-01-31" data-sort-value="2018-01-31">31 <abbr class="abbr" title="janvier">janv.</abbr> 2018</time>
</td>
<td><time class="nowrap" datetime="2020-06-27" data-sort-value="2020-06-27">27 <abbr class="abbr" title="juin">juin</abbr> 2020</time><br>
<p>(<time class="nowrap" datetime="2023-06" data-sort-value="2023-06"><abbr class="abbr" title="juin">juin</abbr> 2023</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li><code>breakpoint</code> insère un point d'arrêt.</li>
<li>Le module <code>contextvars</code> supporte les variables de contexte.</li>
<li>Nouveau mode de développement (X).</li>
<li><code>async</code> et <code>await</code> sont des mots-clefs réservés.</li>
<li><code>time.time_ns</code> en nanosecondes et <code>clock</code>.</li>
<li>Un dictionnaire s'affiche dans l'ordre de sa création<sup id="cite_ref-FuchsPoulain202467_129-0" class="reference"><a href="#cite_note-FuchsPoulain202467-129"><span class="cite-bracket">[</span>129<span class="cite-bracket">]</span></a></sup>.</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>553</li>
<li>567</li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.8"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.8<sup id="cite_ref-130" class="reference"><a href="#cite_note-130"><span class="cite-bracket">[</span>130<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2019-10-14" data-sort-value="2019-10-14">14 <abbr class="abbr" title="octobre">oct.</abbr> 2019</time>
</td>
<td><time class="nowrap" datetime="2021-04" data-sort-value="2021-04"><abbr class="abbr" title="avril">avr.</abbr> 2021</time><br>
<p>(<time class="nowrap" datetime="2024-10" data-sort-value="2024-10"><abbr class="abbr" title="octobre">oct.</abbr> 2024</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Opérateur morse <code>:=</code>&nbsp;: <code>if (lenInput&nbsp;:= len(strInput)) &gt; 10:</code></li>
<li>Dernière version supportant Windows 7.</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>572<sup id="cite_ref-pep572_131-0" class="reference"><a href="#cite_note-pep572-131"><span class="cite-bracket">[</span>131<span class="cite-bracket">]</span></a></sup></li></ul>
</td></tr>
<tr>
<td style="background-color: #FDB3AB;" title="Ancienne version, plus prise en charge" data-sort-value="3.9"><span style="display: none;">Ancienne version, plus prise en charge&nbsp;:</span> 3.9<sup id="cite_ref-132" class="reference"><a href="#cite_note-132"><span class="cite-bracket">[</span>132<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-133" class="reference"><a href="#cite_note-133"><span class="cite-bracket">[</span>133<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2020-10-05" data-sort-value="2020-10-05">5 <abbr class="abbr" title="octobre">oct.</abbr> 2020</time>
</td>
<td><time class="nowrap" datetime="2022-05" data-sort-value="2022-05"><abbr class="abbr" title="mai">mai</abbr> 2022</time><br>
<p>(<time class="nowrap" datetime="2025-10" data-sort-value="2025-10"><abbr class="abbr" title="octobre">oct.</abbr> 2025</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li><code>union</code> de dictionnaires</li>
<li><code>typing.List</code> simplifié en <code>list</code></li>
<li>Le module <code>zoneinfo</code> supporte les fuseaux horaires IANA</li>
<li>Suppression de préfixes ou suffixes dans <code>str</code></li>
<li>Le module <code>graphlib</code> trie des graphes</li>
<li>Périodicité annuelle des versions majeures de Python en octobre</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>584</li>
<li>585</li>
<li>602</li>
<li>615</li>
<li>616</li></ul>
</td></tr>
<tr>
<td class="templateVersion co" style="background-color: #FEF8C6;" title="Ancienne version, toujours prise en charge" data-sort-value="3.10"><span style="display: none;">Ancienne version, toujours prise en charge&nbsp;:</span> 3.10<sup id="cite_ref-134" class="reference"><a href="#cite_note-134"><span class="cite-bracket">[</span>134<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2021-10-04" data-sort-value="2021-10-04">4 <abbr class="abbr" title="octobre">oct.</abbr> 2021</time>
</td>
<td><time class="nowrap" datetime="2023-04-03" data-sort-value="2023-04-03">3 <abbr class="abbr" title="avril">avr.</abbr> 2023</time><br>
<p>(<time class="nowrap" datetime="2026-10" data-sort-value="2026-10"><abbr class="abbr" title="octobre">oct.</abbr> 2026</time>)
</p>
</td>
<td style="vertical-align:top;">
<ul><li>Écriture des unions de types sous la forme <code class="mw-highlight mw-content-ltr" dir="ltr">X</code></li>
<li>Spécification du paramètre des variables</li>
<li><code>TypeAlias</code> définit un alias de type</li>
<li><code>zip(strict)</code> en ValueError sur listes différentes</li>
<li>Amélioration de la mise au point<sup id="cite_ref-FuchsPoulain202416_135-0" class="reference"><a href="#cite_note-FuchsPoulain202416-135"><span class="cite-bracket">[</span>135<span class="cite-bracket">]</span></a></sup></li>
<li>Spécification de la correspondance des modèles structurels</li>
<li>Motivation et justification</li>
<li>Tutorial</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>604</li>
<li>612</li>
<li>613</li>
<li>618</li>
<li>626</li>
<li>634</li>
<li>635</li>
<li>636</li></ul>
</td></tr>
<tr>
<td class="templateVersion co" style="background-color: #FEF8C6;" title="Ancienne version, toujours prise en charge" data-sort-value="3.11"><span style="display: none;">Ancienne version, toujours prise en charge&nbsp;:</span> 3.11<sup id="cite_ref-136" class="reference"><a href="#cite_note-136"><span class="cite-bracket">[</span>136<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2022-10-24" data-sort-value="2022-10-24">24 <abbr class="abbr" title="octobre">oct.</abbr> 2022</time><sup id="cite_ref-FuchsPoulain202410_137-0" class="reference"><a href="#cite_note-FuchsPoulain202410-137"><span class="cite-bracket">[</span>137<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2027-10" data-sort-value="2027-10"><abbr class="abbr" title="octobre">oct.</abbr> 2027</time>
</td>
<td style="vertical-align:top;">
<ul><li><code>TypeVarTuple</code> pour fonction générique</li>
<li>Gestion des exceptions&nbsp;: <code>ExceptionGroup</code></li>
<li>(<code>Not</code>)<code>Required</code> dans <code>TypeDict</code> spécifie si l'élément est optionnel</li>
<li><code>typing.LiteralString</code>&nbsp;: chaîne de caractère littérale</li>
<li><code>except*</code>, <code>add_note</code> à <code>BaseException</code></li>
<li>Ajout du module <b>tomllib</b> pour l'analyse des fichiers <a href="TOML" title="TOML">TOML</a></li>
<li><code>Self</code>annote une <a href="Instance_(programmation)" title="Instance (programmation)">instance</a> de <a href="Classe_(informatique)" title="Classe (informatique)">classe</a></li>
<li>Performance de <a href="CPython" title="CPython">Cpython</a>&nbsp;: +25%</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>646</li>
<li>654</li>
<li>655</li>
<li>675</li>
<li>678</li></ul>
</td></tr>
<tr>
<td class="templateVersion co" style="background-color: #FEF8C6;" title="Ancienne version, toujours prise en charge" data-sort-value="3.12"><span style="display: none;">Ancienne version, toujours prise en charge&nbsp;:</span> 3.12<sup id="cite_ref-138" class="reference"><a href="#cite_note-138"><span class="cite-bracket">[</span>138<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2023-10-02" data-sort-value="2023-10-02">2 <abbr class="abbr" title="octobre">oct.</abbr> 2023</time>
</td>
<td><time class="nowrap" datetime="2028-10" data-sort-value="2028-10"><abbr class="abbr" title="octobre">oct.</abbr> 2028</time>
</td>
<td style="vertical-align:top;">
<ul><li>Performance de CPython pour <a href="D%C3%A9bogueur" title="Débogueur">debuggers</a> et <a href="Profilage_de_code" class="mw-redirect" title="Profilage de code">profilers</a></li>
<li>Unique verrou GIL par <a href="Interpr%C3%A8te_(informatique)" title="Interprète (informatique)">interpréteur</a></li>
<li><code>TypedDict</code> spécifie le type de <code>**kwargs</code></li>
<li>Formattage <code>f"strings"</code></li>
<li><a href="D%C3%A9corateur_(patron_de_conception)" title="Décorateur (patron de conception)">décorateur</a> <code>typing.override</code></li>
<li>Classes génériques et alias de <code>type</code></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>669</li>
<li>684</li>
<li>692</li>
<li>701</li></ul>
</td></tr>
<tr>
<td class="templateVersion co" style="background-color: #FEF8C6;" title="Ancienne version, toujours prise en charge" data-sort-value="3.13"><span style="display: none;">Ancienne version, toujours prise en charge&nbsp;:</span> 3.13<sup id="cite_ref-139" class="reference"><a href="#cite_note-139"><span class="cite-bracket">[</span>139<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2024-10-01" data-sort-value="2024-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> <abbr class="abbr" title="octobre">oct.</abbr> 2024</time>
</td>
<td><time class="nowrap" datetime="2029-10" data-sort-value="2029-10"><abbr class="abbr" title="octobre">oct.</abbr> 2029</time>
</td>
<td style="vertical-align:top;">
<ul><li>Interpréteur interactif en mode free-threaded</li>
<li><a href="Compilation_%C3%A0_la_vol%C3%A9e" title="Compilation à la volée">Compilation à la volée</a></li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>703</li>
<li>744</li></ul>
</td></tr>
<tr>
<td class="templateVersion c" style="background-color: #D4F4B4;" title="Dernière version stable" data-sort-value="3.14"><span style="display: none;">Dernière version stable:</span> <b>3.14</b><sup id="cite_ref-140" class="reference"><a href="#cite_note-140"><span class="cite-bracket">[</span>140<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 <abbr class="abbr" title="octobre">oct.</abbr> 2025</time>
</td>
<td><time class="nowrap" datetime="2030-10" data-sort-value="2030-10"><abbr class="abbr" title="octobre">oct.</abbr> 2030</time>
</td>
<td style="vertical-align:top;">
<ul><li>Modèle de chaîne <code>t</code>"... <code>{</code>variable<code>!</code>type<code>}</code>"<sup id="cite_ref-141" class="reference"><a href="#cite_note-141"><span class="cite-bracket">[</span>141<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-highlight mw-highlight-lang-python3 mw-content-ltr" dir="ltr"><pre><span></span><span class="o">&gt;&gt;&gt;</span> <span class="n">pi</span> <span class="o">=</span> <span class="mf">3.14</span>
<span class="o">&gt;&gt;&gt;</span> <span class="nb">print</span><span class="p">(</span><span class="n">t</span><span class="s1">'Améliore f-string dans Python </span><span class="si">{pi!s}</span><span class="s1">.'</span><span class="p">)</span>
</pre></div>
<ul><li>Free-threaded Python</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>734</li>
<li>749</li>
<li>750<sup id="cite_ref-pep-0750_142-0" class="reference"><a href="#cite_note-pep-0750-142"><span class="cite-bracket">[</span>142<span class="cite-bracket">]</span></a></sup></li>
<li>758</li>
<li>765</li>
<li>779</li></ul>
</td></tr>
<tr>
<td class="templateVersion p" style="background-color: #C1E6F5;" title="Version future" data-sort-value="3.15"><span style="display: none;">Version future:</span> 3.15<sup id="cite_ref-143" class="reference"><a href="#cite_note-143"><span class="cite-bracket">[</span>143<span class="cite-bracket">]</span></a></sup>
</td>
<td><time class="nowrap" datetime="2026-10-01" data-sort-value="2026-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> <abbr class="abbr" title="octobre">oct.</abbr> 2026</time>
</td>
<td><time class="nowrap" datetime="2031-10" data-sort-value="2031-10"><abbr class="abbr" title="octobre">oct.</abbr> 2031</time>
</td>
<td style="vertical-align:top;">
<ul><li>profilage maintenant la performance</li></ul>
</td>
<td style="vertical-align:top;">
<ul><li>790</li></ul>
</td></tr></tbody></table>
<div class="templateVersion l" style="margin-left: -1em;"><div style="float: left; margin-left: 1em;"><span style="white-space: nowrap;"><b>Légende&nbsp;:</b></span></div><div style="float: left; margin-left: 1em;"><span style="border-left: 1.2em solid #FDB3AB; padding-left: 0.3em; white-space: nowrap;" title="Ancienne version, plus prise en charge">Ancienne version</span></div><div style="float: left; margin-left: 1em;"><span style="border-left: 1.2em solid #FEF8C6; padding-left: 0.3em; white-space: nowrap;" title="Ancienne version, toujours prise en charge">Ancienne version, toujours prise en charge</span></div><div style="float: left; margin-left: 1em;"><span style="border-left: 1.2em solid #D4F4B4; padding-left: 0.3em; white-space: nowrap;" title="Dernière version stable"><b>Dernière version stable</b></span></div><div style="float: left; margin-left: 1em;"><span style="border-left: 1.2em solid #FED1A0; padding-left: 0.3em; white-space: nowrap;" title="Dernière version avancée">Dernière version avancée</span></div><div style="float: left; margin-left: 1em;"><span style="border-left: 1.2em solid #C1E6F5; padding-left: 0.3em; white-space: nowrap;" title="Version future">Version future</span></div><div style="clear: left;"></div></div>
<div class="mw-heading mw-heading3"><h3 id="Python_3">Python 3</h3></div>
<p>En 2009, c'est la version 3 de Python, qui remplace de plus en plus la version 2 (le projet était au départ appelé «&nbsp;Python 3000&nbsp;» ou «&nbsp;Py3K&nbsp;»), sans compatibilité descendante avec la série des versions 2.x, dans le but d'éliminer les faiblesses du langage. La ligne de conduite du projet était de «&nbsp;réduire la redondance de Python par la suppression de méthodes obsolètes&nbsp;». Python 3.0a1, la première version alpha, avait été publiée le <time class="nowrap" datetime="2007-08-31" data-sort-value="2007-08-31">31 août 2007</time><sup id="cite_ref-144" class="reference"><a href="#cite_note-144"><span class="cite-bracket">[</span>144<span class="cite-bracket">]</span></a></sup>. Le PEP 3000<sup id="cite_ref-pep-3000_145-0" class="reference"><a href="#cite_note-pep-3000-145"><span class="cite-bracket">[</span>145<span class="cite-bracket">]</span></a></sup> détaille les changements prévus. Les programmeurs en Python 2 sont incités à migrer vers la version 3<sup id="cite_ref-146" class="reference"><a href="#cite_note-146"><span class="cite-bracket">[</span>146<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Philosophie">Philosophie</h4></div>
<p>Python 3 a été développé avec la même philosophie que dans ses versions antérieures, donc toute référence à la philosophie de Python s'appliquera aussi bien à la version 3. Cependant, le langage avait fini par accumuler nombre de méthodes redondantes. En recherchant à supprimer ce qui est redondant dans le langage et ses modules, Python 3 suit la ligne directrice de Python «&nbsp;Ne devrait subsister qu'une seule méthode à la fois optimale <b>et</b> naturelle pour chaque chose&nbsp;».
</p><p>Python 3 reste un langage multiparadigme. Les programmeurs auront encore le choix entre l'orientation objet, la programmation structurée, la programmation fonctionnelle et d'autres paradigmes&nbsp;; Python 3 a pour but d'être utilisé de manière plus naturelle que dans les versions 2.x, bien que son <code>print</code> nécessite l'emploi de parenthèses contrairement à Python 2.
</p>
<div class="mw-heading mw-heading4"><h4 id="Planning_et_compatibilité"><span id="Planning_et_compatibilit.C3.A9"></span>Planning et compatibilité</h4></div>
<p>Python 3.0a1, la première version alpha de Python 3.0, fut publiée le <time class="nowrap" datetime="2007-08-31" data-sort-value="2007-08-31">31 août 2007</time>. Les versions 2.x et 3.x de Python seront publiées en parallèle pendant plusieurs cycles de développement, pendant lesquels la série des 2.x subsistera principalement pour la compatibilité, en incluant quelques caractéristiques importées depuis Python 3.x. Le PEP 3000<sup id="cite_ref-pep-3000_145-1" class="reference"><a href="#cite_note-pep-3000-145"><span class="cite-bracket">[</span>145<span class="cite-bracket">]</span></a></sup> contient plus d'informations à propos du processus de publication d'une version.
</p><p>Comme <a href="Perl_6" class="mw-redirect" title="Perl 6">Perl 6</a>, Python 3.0 rompt la compatibilité descendante (rétrocompatibilité). L'utilisation de code écrit pour les séries 2.x n'est pas garantie avec Python 3.0. Ce dernier apporte des changements fondamentaux, comme le passage complet à l'Unicode et pour cette raison une nécessaire distinction entre les chaînes de caractère et les objets «&nbsp;bytes&nbsp;». Le typage dynamique associé à certaines méthodes sur les objets de type dictionnaire rend une transition <i>parfaite</i> de Python 2.x vers Python 3.0 très délicate. Un outil nommé <code>2to3</code> traduit le plus gros des versions 2.x vers les versions 3.x et indique les zones de code demandant des finitions par des commentaires spéciaux et des mises en garde.
Dans sa préversion, <code>2to3</code> semble réussir franchement à réaliser une traduction correcte<sup id="cite_ref-147" class="reference"><a href="#cite_note-147"><span class="cite-bracket">[</span>147<span class="cite-bracket">]</span></a></sup>. Dans le cadre d'une migration de Python 2.x vers Python 3.x, le PEP 3000 recommande de conserver le code original comme base des modifications et de le <i>traduire</i> pour la plateforme 3.x en utilisant <code>2to3</code>.
</p><p>Python 2.6 fournit un début de compatibilité ascendante, aussi bien qu'un mode «&nbsp;mise en garde&nbsp;» qui devrait faire prendre conscience des problèmes potentiels de transition pour le passage à Python 3<sup id="cite_ref-148" class="reference"><a href="#cite_note-148"><span class="cite-bracket">[</span>148<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Python_pour_smartphones">Python pour smartphones</h3></div>
<p>Il existe des versions de Python adaptées pour les smartphones <a href="Android" title="Android">Android</a><sup id="cite_ref-149" class="reference"><a href="#cite_note-149"><span class="cite-bracket">[</span>149<span class="cite-bracket">]</span></a></sup>.
</p><p>Scripting Layer for Android&nbsp;<a href="https://en.wikipedia.org/wiki/Scripting_Layer_for_Android" class="extiw external" title="en:Scripting Layer for Android"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Scripting Layer for Android&nbsp;»">(en)</span></a> (SL4A) n'est plus supporté&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">android</span> <span class="c1"># possibilité de faire des petites interfaces graphiques</span>
<span class="c1"># telephone local </span>
<span class="n">droid</span> <span class="o">=</span> <span class="n">android</span><span class="o">.</span><span class="n">Android</span><span class="p">()</span> <span class="c1"># client lié au serveur local lancé par l'application SL4A</span>
<span class="n">droid</span><span class="o">.</span><span class="n">vibrate</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="c1"># fait vibrer le téléphone pendant trois secondes</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">droid</span><span class="o">.</span><span class="n">smsSend</span><span class="p">(</span><span class="n">phoneNbr</span><span class="p">,</span> <span class="s2">"SMS"</span><span class="p">)</span> <span class="c1"># envoyer un SMS</span>
<span class="n">droid</span><span class="o">.</span><span class="n">cameraInteractiveCapturePicture</span><span class="p">(</span><span class="s2">"/sdcard/picture.jpg"</span><span class="p">)</span> <span class="c1"># allumer la caméra</span>

<span class="c1"># téléphone distant à l'adresse 192.168.0.5, avec SL4A lancé sur le port 9887</span>
<span class="c1"># android.Android('192.168.0.5', 9887)</span>
</pre></div>
<p>Sur <a href="IPhone" title="IPhone">iPhone</a>, <a href="Kivy" title="Kivy">Kivy</a> est recommandé<sup id="cite_ref-150" class="reference"><a href="#cite_note-150"><span class="cite-bracket">[</span>150<span class="cite-bracket">]</span></a></sup>.
</p><p>Un portage de Python 3.2 sur les terminaux <a href="BlackBerry_(soci%C3%A9t%C3%A9)" class="mw-redirect" title="BlackBerry (société)">Blackberry</a> est sorti en <time class="nowrap" datetime="2012-06" data-sort-value="2012-06">juin 2012</time>, pour le système <a href="BlackBerry_OS" title="BlackBerry OS">BlackBerry OS</a> 10<sup id="cite_ref-151" class="reference"><a href="#cite_note-151"><span class="cite-bracket">[</span>151<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Filmographie">Filmographie</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Python_:_Le_documentaire">Python&nbsp;: Le documentaire</h3></div>
<ul><li><i>Python: The Documentary</i>, 2025, CultRepo<sup id="cite_ref-152" class="reference"><a href="#cite_note-152"><span class="cite-bracket">[</span>152<span class="cite-bracket">]</span></a></sup></li></ul>
<p>Le <time class="nowrap" datetime="2025-08-28" data-sort-value="2025-08-28">28 août 2025</time>, la réalisatrice danoise Ida Lærke Bechtle<sup id="cite_ref-stack2025-08-25_153-0" class="reference"><a href="#cite_note-stack2025-08-25-153"><span class="cite-bracket">[</span>153<span class="cite-bracket">]</span></a></sup> présente son long métrage «&nbsp;Python&nbsp;: Le documentaire. Une histoire d’origine&nbsp;» (<span class="lang-en" lang="en"><i>Python: The Documentary. An origin story</i></span>) à la conférence PyCon à Athènes<sup id="cite_ref-154" class="reference"><a href="#cite_note-154"><span class="cite-bracket">[</span>154<span class="cite-bracket">]</span></a></sup>.
</p><p>Le film est produit par Cult.Repo<sup id="cite_ref-realpython2025-09-20_155-0" class="reference"><a href="#cite_note-realpython2025-09-20-155"><span class="cite-bracket">[</span>155<span class="cite-bracket">]</span></a></sup> à Berlin en relation avec la société irlandaise Open Source World Films Limited&nbsp;: Emma Tracey est créditée au générique.
</p><p>Pendant une année<sup id="cite_ref-stack2025-08-25_153-1" class="reference"><a href="#cite_note-stack2025-08-25-153"><span class="cite-bracket">[</span>153<span class="cite-bracket">]</span></a></sup>, le tournage se déroule aux Pays-bas, États-Unis, Canada et en Australie.
</p>
<div class="mw-heading mw-heading4"><h4 id="Parole_de_femme">Parole de femme</h4></div>
<p>Ida Bechtle donne la parole à la communauté féminine<sup id="cite_ref-156" class="reference"><a href="#cite_note-156"><span class="cite-bracket">[</span>156<span class="cite-bracket">]</span></a></sup> de Python ouverte à la diversité<sup id="cite_ref-157" class="reference"><a href="#cite_note-157"><span class="cite-bracket">[</span>157<span class="cite-bracket">]</span></a></sup>&nbsp;:
</p>

<ul><li>Mariatta Wijaya anime des conférences PyCascades sur <a href="PyLadies" title="PyLadies">PyLadies</a><sup id="cite_ref-158" class="reference"><a href="#cite_note-158"><span class="cite-bracket">[</span>158<span class="cite-bracket">]</span></a></sup>. Elle a été présidente de la conférence PyCon US. Elle est l'autrice des PEP 588 et PEP 8001&nbsp;;</li>
<li>Jessica McKellar&nbsp;<a href="https://en.wikipedia.org/wiki/Jessica_McKellar" class="extiw external" title="en:Jessica McKellar"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Jessica McKellar&nbsp;»">(en)</span></a> est directrice<sup id="cite_ref-159" class="reference"><a href="#cite_note-159"><span class="cite-bracket">[</span>159<span class="cite-bracket">]</span></a></sup> de la fondation Python de 2012 à 2014;</li>
<li>Lisa Guo<sup id="cite_ref-stack2017-06-14_97-1" class="reference"><a href="#cite_note-stack2017-06-14-97"><span class="cite-bracket">[</span>97<span class="cite-bracket">]</span></a></sup> est interviewée sur la migration de Python chez Instagram&nbsp;;</li>
<li>Lisa Roach<sup id="cite_ref-160" class="reference"><a href="#cite_note-160"><span class="cite-bracket">[</span>160<span class="cite-bracket">]</span></a></sup> relate comment elle a résolu la migration de Python 2 vers la version 3 dans les applications de Meta. Elle est l'autrice du PEP 526. C'est une oratrice régulièrement invitée aux conférences sur Python.</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Pythonista,_Pythoneer_et_fondateur"><span id="Pythonista.2C_Pythoneer_et_fondateur"></span>Pythonista, Pythoneer et fondateur</h4></div>
<p>Ida Bechtle capture l'humanité des <i>Pythonistas</i><sup id="cite_ref-medium2020-03-02_161-0" class="reference"><a href="#cite_note-medium2020-03-02-161"><span class="cite-bracket">[</span>161<span class="cite-bracket">]</span></a></sup> (utilisateur), <i>Pythoneers</i><sup id="cite_ref-medium2020-03-02_161-1" class="reference"><a href="#cite_note-medium2020-03-02-161"><span class="cite-bracket">[</span>161<span class="cite-bracket">]</span></a></sup> (expert) et fondateurs qui lui ont ouvert leurs portes sur les lieux de naissance du langage&nbsp;:
</p>
<ul><li>Barry Warsaw (CNRI, NIST, <a href="GNU_Mailman" title="GNU Mailman">GNU Mailman</a>, Microsoft<sup id="cite_ref-zdnet2021-05-14_162-0" class="reference"><a href="#cite_note-zdnet2021-05-14-162"><span class="cite-bracket">[</span>162<span class="cite-bracket">]</span></a></sup>, PSF, PEP 1, PEP 8000<sup id="cite_ref-medium2018-11-13_88-1" class="reference"><a href="#cite_note-medium2018-11-13-88"><span class="cite-bracket">[</span>88<span class="cite-bracket">]</span></a></sup>)&nbsp;;</li>
<li>Ken Manheimer (CNRI, NIST, GNU Mailman) est le créateur<sup id="cite_ref-163" class="reference"><a href="#cite_note-163"><span class="cite-bracket">[</span>163<span class="cite-bracket">]</span></a></sup> du terme <a href="Benevolent_Dictator_for_Life" title="Benevolent Dictator for Life">BDFL</a>. Il cite Wikipedia à 00:18:55s&nbsp;;</li>
<li>Paul Everitt (<a href="PyCharm" title="PyCharm">PyCharm</a>, <a href="JetBrains" title="JetBrains">JetBrains</a>, PEP 750<sup id="cite_ref-pep-0750_142-1" class="reference"><a href="#cite_note-pep-0750-142"><span class="cite-bracket">[</span>142<span class="cite-bracket">]</span></a></sup>)&nbsp;;</li>
<li>Au CWI, Stephen Pemberton et <a href="Lambert_Meertens" title="Lambert Meertens">Lambert Meertens</a><sup id="cite_ref-inference2022-11_26-2" class="reference"><a href="#cite_note-inference2022-11-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> resituent l'abécédaire<sup id="cite_ref-infedu2024_23-2" class="reference"><a href="#cite_note-infedu2024-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> du langage précurseur de Python avec leur collègue Sjoered Mullender&nbsp;;</li>
<li>L'avocate Patrice Ann Lyons et <a href="Robert_Elliot_Kahn" title="Robert Elliot Kahn">Robert Elliot Kahn</a> se rappellent de l'embauche de Guido van Rossum au CNRI&nbsp;;</li>
<li><a href="Drew_Houston" title="Drew Houston">Drew Houston</a> (DropBox)&nbsp;; Benjamin Peterson (DropBox, PEP 387, PEP 552, Python 2.7 manager)&nbsp;;</li>
<li>Armin Ronacher&nbsp;<a href="https://en.wikipedia.org/wiki/Armin_Ronacher" class="extiw external" title="en:Armin Ronacher"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Armin Ronacher&nbsp;»">(en)</span></a> (<a href="Flask_(framework)" title="Flask (framework)">Flask</a>, PEP 372, PEP 414)&nbsp;;</li>
<li>Travis Oliphant&nbsp;<a href="https://en.wikipedia.org/wiki/Travis_Oliphant" class="extiw external" title="en:Travis Oliphant"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Travis Oliphant&nbsp;»">(en)</span></a> (<a href="NumPy" title="NumPy">NumPy</a>, <a href="Anaconda_(distribution_Python)" title="Anaconda (distribution Python)">Anaconda</a>, PEP 357, PEP 3118), Peter Wang (Anaconda)&nbsp;;</li>
<li>Robin Friedrich<sup id="cite_ref-zdnet2002-07-04_99-1" class="reference"><a href="#cite_note-zdnet2002-07-04-99"><span class="cite-bracket">[</span>99<span class="cite-bracket">]</span></a></sup> à la NASA&nbsp;;</li>
<li><a href="Tim_O'Reilly" title="Tim O'Reilly">Tim O'Reilly</a> (O'Reilly Media)&nbsp;;</li>
<li><a href="Ton_Roosendaal" title="Ton Roosendaal">Ton Roosendaal</a> (<a href="Blender" title="Blender">Blender</a>)&nbsp;;</li>
<li>Tim Peters&nbsp;<a href="https://en.wikipedia.org/wiki/Tim_Peters_(software_engineer)" class="extiw external" title="en:Tim Peters (software engineer)"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Tim Peters (software engineer)&nbsp;»">(en)</span></a> (PEP 20<sup id="cite_ref-164" class="reference"><a href="#cite_note-164"><span class="cite-bracket">[</span>164<span class="cite-bracket">]</span></a></sup>, PEP 572<sup id="cite_ref-pep572_131-1" class="reference"><a href="#cite_note-pep572-131"><span class="cite-bracket">[</span>131<span class="cite-bracket">]</span></a></sup>, PEP 8001), <a href="%C3%89vang%C3%A9liste_technologique" title="Évangéliste technologique">évangeliste</a><sup id="cite_ref-inference2022-11_26-3" class="reference"><a href="#cite_note-inference2022-11-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> (<i>advocative</i>) Python de la première heure, est crédité pour l'import du module dénommé <code>this</code>&nbsp;:</li></ul>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">this</span> <span class="c1"># Affiche&nbsp;:</span>
</pre></div>
<p>«&nbsp;The <a href="Zen_de_Python" title="Zen de Python">Zen of Python</a>, by Tim Peters<sup id="cite_ref-zeste2016-10-21_82-1" class="reference"><a href="#cite_note-zeste2016-10-21-82"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup>&nbsp;». Il a donné les documents originaux sur Python à la réalisatrice pour le montage du film<sup id="cite_ref-165" class="reference"><a href="#cite_note-165"><span class="cite-bracket">[</span>165<span class="cite-bracket">]</span></a></sup>.
</p><p>Ida Bechtle confie à Barry Warsaw la strophe «&nbsp;même si, de prime abord, elle n'est pas évidente, à moins d'être Néerlandais.&nbsp;».
</p>
<ul><li>Brett Cannon<sup id="cite_ref-zdnet2021-05-14_162-1" class="reference"><a href="#cite_note-zdnet2021-05-14-162"><span class="cite-bracket">[</span>162<span class="cite-bracket">]</span></a></sup> (Microsoft<sup id="cite_ref-166" class="reference"><a href="#cite_note-166"><span class="cite-bracket">[</span>166<span class="cite-bracket">]</span></a></sup>, PSF, PEP 2, PEP 758, PEP 8001) évoque Python pour l'atterrissage sur Mars avec un parachute. Dans l'initiation sur Python par la NASA, les enfants de 12 ans apprennent à coder du morse<sup id="cite_ref-167" class="reference"><a href="#cite_note-167"><span class="cite-bracket">[</span>167<span class="cite-bracket">]</span></a></sup> lors de l'atterrissage martien. Barry Warsaw fait tourner la tête à l'opérateur morse <code>:=</code> du PEP 572.</li>
<li>Guido van Rossum (CWI, CNRI, PSF, PEP 8, PEP 572, Microsoft, PEP 750<sup id="cite_ref-pep-0750_142-2" class="reference"><a href="#cite_note-pep-0750-142"><span class="cite-bracket">[</span>142<span class="cite-bracket">]</span></a></sup>) accepte la controversée<sup id="cite_ref-168" class="reference"><a href="#cite_note-168"><span class="cite-bracket">[</span>168<span class="cite-bracket">]</span></a></sup> PEP 572<sup id="cite_ref-pep572_131-2" class="reference"><a href="#cite_note-pep572-131"><span class="cite-bracket">[</span>131<span class="cite-bracket">]</span></a></sup>. Affecté par la rage des débats, il tire un trait sur ses activités de BDFL<sup id="cite_ref-LMI2020-11-13_10-4" class="reference"><a href="#cite_note-LMI2020-11-13-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> mises en pointillées par le stress<sup id="cite_ref-lemonde2025-09-17_27-2" class="reference"><a href="#cite_note-lemonde2025-09-17-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>.</li></ul>
<p>Guido van Rossum se tourne vers d'autres fenêtres<sup id="cite_ref-LMI2020-11-13_10-5" class="reference"><a href="#cite_note-LMI2020-11-13-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>. Il rejoint l'équipe composée de Brett Cannon, Steve Dower<sup id="cite_ref-169" class="reference"><a href="#cite_note-169"><span class="cite-bracket">[</span>169<span class="cite-bracket">]</span></a></sup> (CPython, PEP 731, PEP 8013) et Barry Warsaw<sup id="cite_ref-zdnet2021-05-14_162-2" class="reference"><a href="#cite_note-zdnet2021-05-14-162"><span class="cite-bracket">[</span>162<span class="cite-bracket">]</span></a></sup>.
</p><p>Tel le père Noël de ce pittoresque <a href="Monty_Python's_Flying_Circus" title="Monty Python's Flying Circus">cirque volant</a> au-dessus des continents «&nbsp;à l'exception de l'Antarctique&nbsp;», Barry Warsaw referme la parenthèse du générateur pythonique<sup id="cite_ref-zeste2016-10-21_82-2" class="reference"><a href="#cite_note-zeste2016-10-21-82"><span class="cite-bracket">[</span>82<span class="cite-bracket">]</span></a></sup> jaillissant avec peps dans l’esprit de Guido van Rossum.
</p>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-blogspot2009-01-1"><span class="reference-text"><span class="ouvrage" id="van_Rossum2009"><span class="ouvrage" id="Guido_van_Rossum2009"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="http://python-history.blogspot.com/2009/01/brief-timeline-of-python.html"><cite style="font-style:normal;" lang="en">The History of Python: A Brief Timeline of Python</cite></a>&nbsp;», sur <span class="italique">blogspot</span>, <time class="nowrap" datetime="2009-01-20" data-sort-value="2009-01-20">20 janvier 2009</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-10" data-sort-value="2025-09-10">10 septembre 2025</time>)</small></span></span>.</span>
</li>
<li id="cite_note-wikidata-46d964ee77a14578499336e360a25db5b1b71f5d-2"><span class="reference-text"><span class="ouvrage" id="van_Kemenade"><span class="ouvrage" id="Hugo_van_Kemenade">Hugo van Kemenade, «&nbsp;<a rel="nofollow" class="external text" href="https://pythoninsider.blogspot.com/2025/10/python-3140-final-is-here.html"><cite style="font-style:normal;"><span class="lang-en" lang="en">Python Insider: Python 3.14.0 (final) is here!</span></cite></a>&nbsp;», <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-wikidata-f847463ef186429c62f89b2f30668cacf753e770-3"><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.phoronix.com/news/Python-3.14"><cite style="font-style:normal;" lang="en"><span class="lang-en" lang="en">Python 3.14 Released With Performance Improvements, Free-Threading &amp; Zstd</span></cite></a>&nbsp;», <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-11" data-sort-value="2025-10-11">11 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-wikidata-6ebc7e8f990bb4a2c7677fda314f507a16e33abd-4"><span class="mw-cite-backlink"><a href="#cite_ref-wikidata-6ebc7e8f990bb4a2c7677fda314f507a16e33abd_4-0">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://pythoninsider.blogspot.com/2025/03/python-3140-alpha-6-is-out.html"><cite style="font-style:normal;" lang="en"><span class="lang-en" lang="en">Python 3.14.0 alpha 6 is out</span></cite></a>&nbsp;», <time class="nowrap" datetime="2025-03-14" data-sort-value="2025-03-14">14 mars 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-03-24" data-sort-value="2025-03-24">24 mars 2025</time>)</small></span></span>
</li>
<li id="cite_note-wikidata-bff642fdf9ab5972b1a7292dc72cb1a0e1ffc85e-5"><span class="mw-cite-backlink"><a href="#cite_ref-wikidata-bff642fdf9ab5972b1a7292dc72cb1a0e1ffc85e_5-0">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://pythoninsider.blogspot.com/2025/09/python-3140rc3-is-go.html"><cite style="font-style:normal;" lang="en"><span class="lang-en" lang="en">Python 3.14.0rc3 is go!</span></cite></a>&nbsp;», <time class="nowrap" datetime="2025-09-18" data-sort-value="2025-09-18">18 septembre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-19" data-sort-value="2025-09-19">19 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-wikidata-9284980f0b3e119e4741ae3ee9b217fd2e6bdbd0-6"><span class="mw-cite-backlink"><a href="#cite_ref-wikidata-9284980f0b3e119e4741ae3ee9b217fd2e6bdbd0_6-0">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.phoronix.com/news/Python-3.14-rc3-Released"><cite style="font-style:normal;" lang="en"><span class="lang-en" lang="en">Python 3.14-rc3 Released Ahead Of Next Month's Official Release</span></cite></a>&nbsp;», <time class="nowrap" datetime="2025-09-18" data-sort-value="2025-09-18">18 septembre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-19" data-sort-value="2025-09-19">19 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-ZDNet2021-07-26-7"><span class="reference-text"><span class="ouvrage" id="Tung2021"><span class="ouvrage" id="Liam_Tung2021">Liam <span class="nom_auteur">Tung</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.zdnet.fr/actualites/python-reste-le-langage-le-plus-utilise-pour-la-data-science-suivi-de-sql-39926697.htm"><cite style="font-style:normal;">Python reste le langage le plus utilisé pour la data science, suivi de SQL</cite></a>&nbsp;», sur <span class="italique">ZDNet</span>, <time class="nowrap" datetime="2021-07-26" data-sort-value="2021-07-26">26 juillet 2021</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-09" data-sort-value="2025-09-09">9 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Gros2015"><span class="ouvrage" id="Maryse_Gros2015">Maryse <span class="nom_auteur">Gros</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemondeinformatique.fr/actualites/lire-pydata-paris-presente-les-projets-big-data-realises-avec-python-60708.html"><cite style="font-style:normal;">PyData Paris présente les projets big data réalisés avec Python</cite></a>&nbsp;», sur <span class="italique">Le Monde informatique</span>, <time class="nowrap" datetime="2015-03-31" data-sort-value="2015-03-31">31 mars 2015</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-09" data-sort-value="2025-09-09">9 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Ezratty"><span class="ouvrage" id="Olivier_Ezratty">Olivier <span class="nom_auteur">Ezratty</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://moocdigital.paris/cours/linformatique-quantique/lordinateur-quantique"><cite style="font-style:normal;">L'informatique quantique</cite></a>&nbsp;», sur <span class="italique">MOOC Digital Paris</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-09" data-sort-value="2025-09-09">9 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-LMI2020-11-13-10"><span class="reference-text"><span class="ouvrage" id="Cheminat2020"><span class="ouvrage" id="Jacques_Cheminat2020">Jacques <span class="nom_auteur">Cheminat</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemondeinformatique.fr/actualites/lire-le-createur-de-python-guido-van-rossum-rejoint-microsoft-81023.html"><cite style="font-style:normal;">Le créateur de Python, Guido Van Rossum, rejoint Microsoft</cite></a>&nbsp;», sur <span class="italique">Le Monde informatique</span>, <time class="nowrap" datetime="2020-11-13" data-sort-value="2020-11-13">13 novembre 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-09" data-sort-value="2025-09-09">9 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Muller2018"><span class="ouvrage" id="Valentin_Muller2018">Valentin <span class="nom_auteur">Muller</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://medium.com/elp-2018/python-le-langage-pour-d%C3%A9buter-33f8b6793b9b"><cite style="font-style:normal;">Python&nbsp;: LE langage pour débuter</cite></a>&nbsp;», sur <span class="italique">medium.org</span>, <time class="nowrap" datetime="2018-05-18" data-sort-value="2018-05-18">18 mai 2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-05" data-sort-value="2025-10-05">5 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-DowneyElknerMeyers20165._Introducing_programming_with_Python:_&quot;There_are_thirteen_paragraphs&quot;-12"><span class="mw-cite-backlink"><a href="#cite_ref-DowneyElknerMeyers20165._Introducing_programming_with_Python:_&quot;There_are_thirteen_paragraphs&quot;_12-0">↑</a> </span><span class="reference-text"><a href="#DowneyElknerMeyers2016">Downey, Elkner et Meyers 2016</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;5. Introducing programming with Python: "There are thirteen paragraphs". </span>
</li>
<li id="cite_note-tice2020-02-01-13"><span class="reference-text"><span class="ouvrage" id="2020">«&nbsp;<a rel="nofollow" class="external text" href="https://www.tice-education.fr/tous-les-articles-er-ressources/codage/1372-la-programmation-python-au-lycee"><cite style="font-style:normal;">La programmation Python au lycée</cite></a>&nbsp;», sur <span class="italique">Tice-education</span>, <time class="nowrap" datetime="2020-02-01" data-sort-value="2020-02-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> février 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-23" data-sort-value="2025-09-23">23 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Douheret2025"><span class="ouvrage" id="Perrine_Douheret2025">Perrine <span class="nom_auteur">Douheret</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://drane.ac-lyon.fr/spip/NuitDuCode"><cite style="font-style:normal;">La Nuit du Code&nbsp;: quand programmer devient une aventure&nbsp;!</cite></a>&nbsp;», sur <span class="italique">Drane</span>, <time class="nowrap" datetime="2025-09-25" data-sort-value="2025-09-25">25 septembre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-25" data-sort-value="2025-09-25">25 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : allemand">(de)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.fg-berlin.eu/blogs/nuitduc0de/"><cite style="font-style:normal;" lang="de">Nuit du c0de 2025</cite></a>&nbsp;», sur <span class="italique">Lycée Français de Berlin (Französisches Gymnasium Berlin)</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2024">«&nbsp;<a rel="nofollow" class="external text" href="https://www.lfitokyo.org/index.php/nos-partenaires/8-etablissement-fr/3038-retour-sur-la-nuit-du-code-en-video-une-magnifique-edition-2024"><cite style="font-style:normal;">Retour sur la nuit du code en vidéo&nbsp;: une magnifique édition 2024</cite></a>&nbsp;» [«&nbsp;ナイト・オブ・コードの振り返りをビデオで見る: 壮大な 2024 年版&nbsp;»], sur <span class="italique">Lycée français international de Tokyo 「東京国際フランス学園」</span>,‎ <time class="nowrap" datetime="2024-05-18" data-sort-value="2024-05-18">18 mai 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025">«&nbsp;<a rel="nofollow" class="external text" href="https://lfipekin.org/la-semaine-hour-of-code"><cite style="font-style:normal;">La semaine HOUR OF CODE</cite></a>&nbsp;» [«&nbsp;编程一小时周&nbsp;»], sur <span class="italique">Lycée français international Charles-de-Gaulle de Pékin 〖北京法国国际学校〗</span>,‎ <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-numerama2014-12-04-18"><span class="reference-text"><span class="ouvrage" id="Lausson2014"><span class="ouvrage" id="Julien_Lausson2014">Julien <span class="nom_auteur">Lausson</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.numerama.com/tech/31533-barack-obama-programmation.html"><cite style="font-style:normal;">Barack Obama code pour encourager les jeunes à programmer</cite></a>&nbsp;», sur <span class="italique">Numerama</span>, <time class="nowrap" datetime="2014-12-04" data-sort-value="2014-12-04">4 décembre 2014</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Arène2024"><span class="ouvrage" id="Véronique_Arène2024">Véronique <span class="nom_auteur">Arène</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemondeinformatique.fr/actualites/lire-une-heure-pour-enseigner-les-bases-du-code-a-l-ecole-95475.html"><cite style="font-style:normal;">Une heure pour enseigner les bases du code à l'école</cite></a>&nbsp;», sur <span class="italique">Le Monde informatique</span>, <time class="nowrap" datetime="2024-12-04" data-sort-value="2024-12-04">4 décembre 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Arène2025"><span class="ouvrage" id="Véronique_Arène2025">Véronique <span class="nom_auteur">Arène</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemondeinformatique.fr/actualites/lire-comcyber-reorganise-un-concours-de-hack-etudiant-dans-toute-la-france-95748.html"><cite style="font-style:normal;">Comcyber réorganise un concours de hack étudiant dans toute la France</cite></a>&nbsp;», sur <span class="italique">Le Monde informatique</span>, <time class="nowrap" datetime="2025-01-14" data-sort-value="2025-01-14">14 janvier 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Charbonnier2025"><span class="ouvrage" id="Romain_Charbonnier2025">Romain <span class="nom_auteur">Charbonnier</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://guardia.school/orientation/passe-ton-hack-dabord-le-challenge-pour-initier-les-jeunes-a-la-cybersecurite.html"><cite style="font-style:normal;">Passe ton hack d’abord&nbsp;: le challenge pour initier les jeunes à la cybersécurité</cite></a>&nbsp;», sur <span class="italique">Guardia</span>, <time class="nowrap" datetime="2025-03-14" data-sort-value="2025-03-14">14 mars 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-25" data-sort-value="2025-09-25">25 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2013">«&nbsp;<a rel="nofollow" class="external text" href="https://cache.media.education.gouv.fr/file/special_3_ESR/50/5/programme-informatique_252505.pdf"><cite style="font-style:normal;">Programmes des classes préparatoires aux Grandes Ecoles</cite></a>&nbsp;» <abbr class="abbr indicateur-format format-pdf" title="Document au format Portable Document Format (PDF) d'Adobe">[PDF]</abbr>, sur <span class="italique">Ministère de l'Education Nationale, de l'Enseignement supérieur et de la Recherche</span>, <time>2013</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;5, 8</span>
</li>
<li id="cite_note-infedu2024-23"><span class="reference-text"><span class="ouvrage" id="KohnStaub2024"><span class="ouvrage" id="Tobias_KohnJacqueline_Staub2024"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Tobias <span class="nom_auteur">Kohn</span> et Jacqueline <span class="nom_auteur">Staub</span> (Volume 23, Issue 4, pp. 837–868), «&nbsp;<a rel="nofollow" class="external text" href="https://infedu.vu.lt/journal/INFEDU/article/798/info"><cite style="font-style:normal;" lang="en">The Two Powers: How Pascal and Python Shaped Programming Education</cite></a>&nbsp;», sur <span class="italique">Informatics in Education</span>, <time class="nowrap" datetime="2024-12-14" data-sort-value="2024-12-14">14 décembre 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-05" data-sort-value="2025-10-05">5 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Moreau2020"><span class="ouvrage" id="Philippe_Moreau2020">Philippe <span class="nom_auteur">Moreau</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://stm.cairn.info/l-informatique-vraiment-pour-tous-en-classes-preparatoires-aux-grandes-ecoles-la-programmation-en-python-sql-et-les-algorithmes-devoiles-de-a-a-z--9782340038073-page-883?lang=fr"><cite style="font-style:normal;">L'Informatique (vraiment) Pour Tous en classes préparatoires aux grandes écoles - La programmation en Python, SQL et les algorithmes dévoilés de A à Z&nbsp;: Évaluation 11. Partie II&nbsp;: Concours Mines Ponts épreuve IPT 2015.</cite></a>&nbsp;», sur <span class="italique">cairn</span>, <time>2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span></span>&nbsp;: <span class="citation">«&nbsp;Le langage à utiliser est Python&nbsp;»</span></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Damin2018"><span class="ouvrage" id="Walter_Damin2018">Walter <span class="nom_auteur">Damin</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://stm.cairn.info/mathematiques-24-jours-pour-preparer-loral-des-concours-centralesupelecminesponts-filiere-psi-2eme-edition-actualisee--9782340029170-page-17?lang=fr"><cite style="font-style:normal;">Mathématiques 24 jours pour préparer l’oral des concours Centrale/Supélec/Mines/Ponts&nbsp;: Rappels autour de Python pour préparer l’oral de Math II de Centrale-Supélec</cite></a>&nbsp;», <a rel="nofollow" class="external text" href="https://www.concours-centrale-supelec.fr/sujets-rapports">Fiches d'aide Python</a> pour le concours Centrale-Supélec, sur <span class="italique">cairn</span>, <time>2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-inference2022-11-26"><span class="reference-text"><span class="ouvrage" id="Meertens2022"><span class="ouvrage" id="Lambert_Meertens2022"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Lambert <span class="nom_auteur">Meertens</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://inference-review.com/article/the-origins-of-python"><cite style="font-style:normal;" lang="en">The Origins of Python</cite></a>&nbsp;», <span class="italique">Computer Science / Review Essay Vol. 7, NO. 3</span>, sur <span class="italique">Inference</span>, <time class="nowrap" datetime="2022-11" data-sort-value="2022-11">novembre 2022</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-05" data-sort-value="2025-10-05">5 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-lemonde2025-09-17-27"><span class="reference-text"><span class="ouvrage" id="Leloup2018"><span class="ouvrage" id="Damien_Leloup2018">Damien <span class="nom_auteur">Leloup</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemonde.fr/pixels/article/2018/07/25/je-n-imaginais-pas-que-python-connaitrait-un-tel-succes_5335917_4408996.html"><cite style="font-style:normal;">Je n’imaginais pas que le langage informatique Python connaîtrait un tel succès</cite></a>&nbsp;», sur <span class="italique">Le Monde</span>, <time class="nowrap" datetime="2018-07-25" data-sort-value="2018-07-25">25 juillet 2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-17" data-sort-value="2025-09-17">17 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-FAQ1.2-28"><span class="reference-text"><span class="ouvrage" id="van_Rossum1991"><span class="ouvrage" id="Guido_van_Rossum1991"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/faq/general.html#why-was-python-created-in-the-first-place"><cite style="font-style:normal;" lang="en">Why was Python created in the first place?</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="1991-02" data-sort-value="1991-02">février 1991</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-18" data-sort-value="2025-09-18">18 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><a href="#cite_ref-29">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Jansen1989"><span class="ouvrage" id="Jack_Jansen1989"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Jack <span class="nom_auteur">Jansen</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://homepages.cwi.nl/~jack/macpython/intro.html"><cite style="font-style:normal;" lang="en">Introduction to MacPython</cite></a>&nbsp;», sur <span class="italique">CWI</span>, <time>1989</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-26" data-sort-value="2025-09-26">26 septembre 2025</time>)</small></span></span>&nbsp;: <span class="citation">«&nbsp;<span class="lang-en" lang="en">the very first implementation was actually done on a Macintosh</span>&nbsp;»</span></span>
</li>
<li id="cite_note-Lutz200917-30"><span class="reference-text"><a href="#Lutz2009">Lutz 2009</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;17. </span>
</li>
<li id="cite_note-Lutz2006XIX-31"><span class="reference-text"><a href="#Lutz2006">Lutz 2006</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;XIX. </span>
</li>
<li id="cite_note-alt1991-02-19-32"><span class="reference-text"><span class="ouvrage" id="van_Rossum2025"><span class="ouvrage" id="Guido_van_Rossum2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://groups.google.com/g/alt.sources/c/O2ZSq7DiOwM#:~:text=Feb%2019,%201991"><cite style="font-style:normal;" lang="en">Python 0.9.1 part 01/21</cite></a>&nbsp;», sur <span class="italique">alt.sources</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-04" data-sort-value="2025-10-04">4 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><a href="#cite_ref-33">↑</a> </span><span class="reference-text"><span class="ouvrage" id="van_Rossum1991"><span class="ouvrage" id="Guido_van_Rossum1991"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://svn.python.org/projects/python/trunk/Misc/HISTORY#:~:text=Release%200.9.0"><cite style="font-style:normal;" lang="en">Release 0.9.0 (February 1991)</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="1991-02-19" data-sort-value="1991-02-19">19 février 1991</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-04" data-sort-value="2025-10-04">4 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><a href="#cite_ref-34">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Dalke2025"><span class="ouvrage" id="Andrew_Dalke2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Andrew <span class="nom_auteur">Dalke</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/download/releases/early/"><cite style="font-style:normal;" lang="en">Ancient Releases</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-04" data-sort-value="2025-10-04">4 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-cnri-grail-35"><span class="reference-text"><span class="ouvrage" id="2020"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.cnri.reston.va.us/projects_archive.html#grail"><cite style="font-style:normal;" lang="en">Grail Internet Browser</cite></a>&nbsp;», sur <span class="italique">CNRI</span>, <time class="nowrap" datetime="2020-12-07" data-sort-value="2020-12-07">7 décembre 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-16" data-sort-value="2025-09-16">16 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-Lutz2006714-36"><span class="mw-cite-backlink"><a href="#cite_ref-Lutz2006714_36-0">↑</a> </span><span class="reference-text"><a href="#Lutz2006">Lutz 2006</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;714. </span>
</li>
<li id="cite_note-python1999-07-idle-37"><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/doc/essays/cp4e/"><cite style="font-style:normal;" lang="en">Computer Programming for Everybody</cite></a>&nbsp;», sur <span class="italique">Python.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-08-14" data-sort-value="2020-08-14">14 août 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-python2000-10-16new-38"><span class="reference-text"><span class="ouvrage" id="KuchlingZadka2000"><span class="ouvrage" id="A.M._KuchlingMoshe_Zadka2000"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span> et Moshe <span class="nom_auteur">Zadka</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20091214142515/http://www.amk.ca/python/2.0"><cite style="font-style:normal;" lang="en">What's New in Python 2.0</cite></a>&nbsp;», sur <span class="italique">archive.org</span>, <time class="nowrap" datetime="2000-10-16" data-sort-value="2000-10-16">16 octobre 2000</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-python2010new-39"><span class="reference-text"><span class="ouvrage" id="Kuchling2010"><span class="ouvrage" id="A.M._Kuchling2010"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/2.7/whatsnew/2.7.html"><cite style="font-style:normal;" lang="en">What's New in Python 2.7</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2010</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><a href="#cite_ref-40">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling1999"><span class="ouvrage" id="Andrew_M._Kuchling1999"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Andrew M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://wiki.python.org/moin/PythonWarts"><cite style="font-style:normal;" lang="en">Python Warts</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="1999-12-22" data-sort-value="1999-12-22">22 décembre 1999</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-23" data-sort-value="2025-09-23">23 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><a href="#cite_ref-41">↑</a> </span><span class="reference-text"><span class="ouvrage" id="van_Rossum2003"><span class="ouvrage" id="Guido_van_Rossum2003"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/download/releases/2.2.3/descrintro/"><cite style="font-style:normal;" lang="en">Unifying types and classes in Python 2.2</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2003-05-30" data-sort-value="2003-05-30">30 mai 2003</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-26" data-sort-value="2025-09-26">26 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><a href="#cite_ref-42">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2001"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.13/license.html"><cite style="font-style:normal;" lang="en">History of the software</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2001</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><a href="#cite_ref-43">↑</a> </span><span class="reference-text"><span class="ouvrage" id="van_Rossum2025"><span class="ouvrage" id="Guido_van_Rossum2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://github.com/rietveld-codereview/rietveld"><cite style="font-style:normal;" lang="en">The Rietveld server on App Engine</cite></a>&nbsp;», sur <span class="italique">github</span>, <time class="nowrap" datetime="2025-03-01" data-sort-value="2025-03-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> mars 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-python2009-02-14new-44"><span class="reference-text"><span class="ouvrage" id="van_Rossum2009"><span class="ouvrage" id="Guido_van_Rossum2009"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.0/whatsnew/3.0.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.0</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2009-02-14" data-sort-value="2009-02-14">14 février 2009</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-python2012-04-09new-45"><span class="reference-text"><span class="ouvrage" id="Hettinger2012"><span class="ouvrage" id="Raymond_Hettinger2012"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Raymond <span class="nom_auteur">Hettinger</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.1/whatsnew/3.1.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.1</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2012-04-09" data-sort-value="2012-04-09">9 avril 2012</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-46"><span class="mw-cite-backlink"><a href="#cite_ref-46">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Houston2012"><span class="ouvrage" id="Drew_Houston2012"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Drew <span class="nom_auteur">Houston</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://dropbox.tech/application/welcome-guido"><cite style="font-style:normal;" lang="en">Welcome Guido!</cite></a>&nbsp;», sur <span class="italique">dropbox</span>, <time class="nowrap" datetime="2012-12-07" data-sort-value="2012-12-07">7 décembre 2012</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-mypy-47"><span class="reference-text"><span class="ouvrage" id="Sadhwani2021"><span class="ouvrage" id="Tushar_Sadhwani2021"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Tushar <span class="nom_auteur">Sadhwani</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://tusharsadhwani.medium.com/the-comprehensive-guide-to-mypy-b7cd502d04e3"><cite style="font-style:normal;" lang="en">The Comprehensive Guide to mypy</cite></a>&nbsp;», sur <span class="italique">medium.com</span>, <time class="nowrap" datetime="2021-05-06" data-sort-value="2021-05-06">6 mai 2021</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-15" data-sort-value="2025-09-15">15 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><a href="#cite_ref-48">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2019"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://blog.dropbox.com/topics/company/thank-you--guido"><cite style="font-style:normal;" lang="en">Thank you, Guido</cite></a>&nbsp;», sur <span class="italique">dropbox</span>, <time class="nowrap" datetime="2019-10-29" data-sort-value="2019-10-29">29 octobre 2019</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><a href="#cite_ref-49">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://programmation.developpez.com/actu/329957/Python-est-le-langage-de-programmation-le-plus-utilise-et-il-ne-montre-aucun-signe-de-ralentissement-selon-l-index-TIOBE-de-janvier-2022/"><cite style="font-style:normal;">Python est le langage de programmation le plus utilisé et il ne montre aucun signe de ralentissement, selon l'index TIOBE de janvier 2022</cite></a>&nbsp;», sur <span class="italique">Developpez.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-09-30" data-sort-value="2023-09-30">30 septembre 2023</time>)</small></span></span>
</li>
<li id="cite_note-50"><span class="mw-cite-backlink"><a href="#cite_ref-50">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Krill2025"><span class="ouvrage" id="Paul_Krill2025">Paul <span class="nom_auteur">Krill</span> (<abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/4033860/python-popularity-boosted-by-ai-coding-assistants-tiobe.html">Infoworld</a>. Adapté par Louise Costa), «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemondeinformatique.fr/actualites/lire-poussee-par-l-ia-la-popularite-de-python-ne-faiblit-pas-97594.html"><cite style="font-style:normal;">Poussée par l'IA, la popularité de Python ne faiblit pas</cite></a>&nbsp;», sur <span class="italique">Le Monde informatique</span>, <time class="nowrap" datetime="2025-08-06" data-sort-value="2025-08-06">6 août 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-09" data-sort-value="2025-09-09">9 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-Swinnen201225-26-51"><span class="mw-cite-backlink"><a href="#cite_ref-Swinnen201225-26_51-0">↑</a> </span><span class="reference-text"><a href="#Swinnen2012">Swinnen 2012</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;25-26. </span>
</li>
<li id="cite_note-Swinnen201223-26-52"><span class="mw-cite-backlink"><a href="#cite_ref-Swinnen201223-26_52-0">↑</a> </span><span class="reference-text"><a href="#Swinnen2012">Swinnen 2012</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;23-26. </span>
</li>
<li id="cite_note-pep8-53"><span class="reference-text"><span class="ouvrage" id="van_RossumWarsawCoghlan2013"><span class="ouvrage" id="Guido_van_RossumBarry_WarsawAlyssa_Coghlan2013"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, Barry <span class="nom_auteur">Warsaw</span> et Alyssa <span class="nom_auteur">Coghlan</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0008/"><cite style="font-style:normal;" lang="en">PEP 8 - Style Guide for Python Code</cite></a>&nbsp;», sur <span class="italique">Python.org</span>, <time class="nowrap" datetime="2013-08-01" data-sort-value="2013-08-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> août 2013</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-11" data-sort-value="2025-09-11">11 septembre 2025</time>)</small></span></span>.</span>
</li>
<li id="cite_note-pep-0308-54"><span class="reference-text"><span class="ouvrage" id="van_RossumHettinger2003"><span class="ouvrage" id="Guido_van_RossumRaymond_Hettinger2003"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span> et Raymond <span class="nom_auteur">Hettinger</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0308/"><cite style="font-style:normal;" lang="en">PEP 308 – Conditional Expressions</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2003-02-07" data-sort-value="2003-02-07">7 février 2003</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-55"><span class="mw-cite-backlink"><a href="#cite_ref-55">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3/library/keyword.html"><cite style="font-style:normal;" lang="en">keyword --- Testing for Python keywords</cite></a>&nbsp;» [«&nbsp;Tester si des chaînes sont des mot-clés Python&nbsp;»], sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-56"><span class="mw-cite-backlink"><a href="#cite_ref-56">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025">«&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3/library/functions.html#built-in-funcs"><cite style="font-style:normal;">Fonctions natives</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-57"><span class="mw-cite-backlink"><a href="#cite_ref-57">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://wiki.python.org/moin/Python3.0"><cite style="font-style:normal;" lang="en">Python 3.0 - Core Language Changes</cite></a>&nbsp;»</span>.</span>
</li>
<li id="cite_note-58"><span class="mw-cite-backlink"><a href="#cite_ref-58">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-3104/"><cite style="font-style:normal;" lang="en">PEP 3104 - Access to Names in Outer Scopes</cite></a>&nbsp;»</span>.</span>
</li>
<li id="cite_note-59"><span class="mw-cite-backlink"><a href="#cite_ref-59">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Collart"><span class="ouvrage" id="Thomas_Collart">Thomas <span class="nom_auteur">Collart</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.commentcoder.com/python-enumerate/"><cite style="font-style:normal;">La fonction enumerate en Python</cite></a>&nbsp;», sur <span class="italique">Comment coder</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-02-12" data-sort-value="2025-02-12">12 février 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-60"><span class="mw-cite-backlink"><a href="#cite_ref-60">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Schemenauervan_Rossum2006"><span class="ouvrage" id="Neil_SchemenauerGuido_van_Rossum2006"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Neil <span class="nom_auteur">Schemenauer</span> et Guido <span class="nom_auteur">van Rossum</span> (Les objets <code>bytes</code> ont été introduits par le PEP 358), «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0358/"><cite style="font-style:normal;" lang="en">PEP 358 – The “bytes” Object</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2006-02-15" data-sort-value="2006-02-15">15 février 2006</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-pep-3137-61"><span class="reference-text"><span class="ouvrage" id="van_Rossum2007"><span class="ouvrage" id="Guido_van_Rossum2007"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-3137/"><cite style="font-style:normal;" lang="en">PEP 3137 – Immutable Bytes and Mutable Buffer</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2007-09-26" data-sort-value="2007-09-26">26 septembre 2007</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-62"><span class="mw-cite-backlink"><a href="#cite_ref-62">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/library/collections.html#collections.namedtuple"><cite style="font-style:normal;" lang="en">collections — Container datatypes</cite></a>&nbsp;», sur <span class="italique">Python documentation</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-02-14" data-sort-value="2025-02-14">14 février 2025</time>)</small></span></span>
</li>
<li id="cite_note-63"><span class="mw-cite-backlink"><a href="#cite_ref-63">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/library/typing.html#typing.NamedTuple"><cite style="font-style:normal;" lang="en">typing — Support for type hints</cite></a>&nbsp;», sur <span class="italique">Python documentation</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-02-14" data-sort-value="2025-02-14">14 février 2025</time>)</small></span></span>
</li>
<li id="cite_note-pep-0202-64"><span class="reference-text"><span class="ouvrage" id="Warsaw2000"><span class="ouvrage" id="Barry_Warsaw2000"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Barry <span class="nom_auteur">Warsaw</span> (Les compréhensions ont été introduites dans le PEP 202), «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0202/"><cite style="font-style:normal;" lang="en">PEP 202 – List Comprehensions</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2000-07-13" data-sort-value="2000-07-13">13 juillet 2000</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-65"><span class="mw-cite-backlink"><a href="#cite_ref-65">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Warsaw2001"><span class="ouvrage" id="Barry_Warsaw2001"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Barry <span class="nom_auteur">Warsaw</span> (les compréhensions de dictionnaires et d'ensembles dans le PEP 274), «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0274/"><cite style="font-style:normal;" lang="en">PEP 274 – Dict Comprehensions</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2001-10-25" data-sort-value="2001-10-25">25 octobre 2001</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-01" data-sort-value="2025-10-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-66"><span class="mw-cite-backlink"><a href="#cite_ref-66">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025">«&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.13/reference/datamodel.html#special-method-names"><cite style="font-style:normal;">3. Data model&nbsp;: 3.3. Special method names</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-pep-0380-67"><span class="reference-text"><span class="ouvrage" id="Ewing2009"><span class="ouvrage" id="Gregory_Ewing2009"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Gregory <span class="nom_auteur">Ewing</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0380/"><cite style="font-style:normal;" lang="en">PEP 380 – Syntax for Delegating to a Subgenerator</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2009-02-13" data-sort-value="2009-02-13">13 février 2009</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-68"><span class="mw-cite-backlink"><a href="#cite_ref-68">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://us.pycon.org/2025/about/diversity/"><cite style="font-style:normal;" lang="en">Diversity</cite></a>&nbsp;», sur <span class="italique">pycon.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-69"><span class="mw-cite-backlink"><a href="#cite_ref-69">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Abid2016"><span class="ouvrage" id="Hassan_Abid2016"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Hassan <span class="nom_auteur">Abid</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://medium.com/djangogirlsseoul-codecamp/respect-diversity-with-pythonists-and-djangonauts-e7a52294eef3"><cite style="font-style:normal;" lang="en">Respect,Diversity with Pythonists and Djangonauts</cite></a>&nbsp;» [«&nbsp;존중 다양성&nbsp;»], sur <span class="italique">medium.com</span>,‎ <time class="nowrap" datetime="2016-08-18" data-sort-value="2016-08-18">18 août 2016</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-70"><span class="mw-cite-backlink"><a href="#cite_ref-70">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Noisette2025"><span class="ouvrage" id="Thierry_Noisette2025">Thierry <span class="nom_auteur">Noisette</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.zdnet.fr/blogs/l-esprit-libre/la-fondation-python-renonce-a-une-subvention-de-15-million-de-dollars-plutot-qua-ses-valeurs-484243.htm"><cite style="font-style:normal;">La fondation Python renonce à une subvention de 1,5 million de dollars plutôt qu’à ses valeurs</cite></a>&nbsp;», sur <span class="italique">zdnet</span>, <time class="nowrap" datetime="2025-10-30" data-sort-value="2025-10-30">30 octobre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-30" data-sort-value="2025-10-30">30 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-Swinnen201216-17,_76,_81,_125,_146-71"><span class="mw-cite-backlink"><a href="#cite_ref-Swinnen201216-17,_76,_81,_125,_146_71-0">↑</a> </span><span class="reference-text"><a href="#Swinnen2012">Swinnen 2012</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;16-17, 76, 81, 125, 146. </span>
</li>
<li id="cite_note-72"><span class="mw-cite-backlink"><a href="#cite_ref-72">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://pypi.org/project/traits/"><cite style="font-style:normal;" lang="en">traits 7.0.2&nbsp;: Observable typed attributes for Python classes</cite></a>&nbsp;», sur <span class="italique">Python Package Index</span>, <time class="nowrap" datetime="2025-01-24" data-sort-value="2025-01-24">24 janvier 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-73"><span class="mw-cite-backlink"><a href="#cite_ref-73">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-3107/"><cite style="font-style:normal;" lang="en">PEP 3107 -- Function Annotations</cite></a>&nbsp;», sur <span class="italique">Python.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-03-04" data-sort-value="2020-03-04">4 mars 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-74"><span class="mw-cite-backlink"><a href="#cite_ref-74">↑</a> </span><span class="reference-text"><span class="ouvrage" id="WinterLownds2006"><span class="ouvrage" id="Collin_WinterTony_Lownds2006"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Collin Winter et Tony Lownds, «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-3107/#fundamentals-of-function-annotations"><cite style="font-style:normal;" lang="en">Fundamentals of Function Annotations</cite></a>&nbsp;», sur <span class="italique">www.python.org</span>, <time class="nowrap" datetime="2006-12-06" data-sort-value="2006-12-06">6 décembre 2006</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-03-10" data-sort-value="2020-03-10">10 mars 2020</time>)</small></span></span>.</span>
</li>
<li id="cite_note-75"><span class="mw-cite-backlink"><a href="#cite_ref-75">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3/library/typing.html"><cite style="font-style:normal;">26.1. typing — Support for type hints — Python 3.6.10 documentation</cite></a>&nbsp;», sur <span class="italique">docs.python.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-03-04" data-sort-value="2020-03-04">4 mars 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-76"><span class="mw-cite-backlink"><a href="#cite_ref-76">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/dev/peps/pep-0484/"><cite style="font-style:normal;" lang="en">PEP 484 -- Type Hints</cite></a>&nbsp;», sur <span class="italique">Python.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-03-04" data-sort-value="2020-03-04">4 mars 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-77"><span class="mw-cite-backlink"><a href="#cite_ref-77">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Adkens2020"><span class="ouvrage" id="Stan_Adkens2020">Stan <span class="nom_auteur">Adkens</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://visualstudio.developpez.com/actu/306919/Microsoft-devoile-Pylance-sa-nouvelle-extension-Python-pour-Visual-Studio-Code-pour-une-prise-en-charge-plus-rapide-et-plus-complete-du-langage-Python-dans-l-editeur-de-code/"><cite style="font-style:normal;">Microsoft dévoile Pylance, sa nouvelle extension Python pour Visual Studio Code</cite></a>&nbsp;», sur <span class="italique">developpez.com</span>, <time class="nowrap" datetime="2020-07-06" data-sort-value="2020-07-06">6 juillet 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-15" data-sort-value="2025-09-15">15 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-cnrs2023-10-18-78"><span class="reference-text"><span class="ouvrage" id="L'Orphelin2023"><span class="ouvrage" id="Cyril_L'Orphelin2023">Cyril <span class="nom_auteur">L'Orphelin</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://indico.in2p3.fr/event/29229/contributions/121303/"><cite style="font-style:normal;">Outils d'analyse et de mesure de la qualité du code</cite></a>&nbsp;», sur <span class="italique">CNRS Actions Nationales de Formation</span>, <time class="nowrap" datetime="2023-10-18" data-sort-value="2023-10-18">18 octobre 2023</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-15" data-sort-value="2025-09-15">15 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-79"><span class="mw-cite-backlink"><a href="#cite_ref-79">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Pykes2024"><span class="ouvrage" id="Kurtis_Pykes2024">Kurtis <span class="nom_auteur">Pykes</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.datacamp.com/fr/tutorial/two-simple-methods-to-convert-a-python-file-to-an-exe-file"><cite style="font-style:normal;">Deux méthodes simples pour convertir un fichier Python en fichier Exe</cite></a>&nbsp;», sur <span class="italique">datacamp</span>, <time class="nowrap" datetime="2024-10-04" data-sort-value="2024-10-04">4 octobre 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-23" data-sort-value="2025-09-23">23 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-dive2011-80"><span class="reference-text"><span class="ouvrage" id="Pilgrim2011"><span class="ouvrage" id="Mark_Pilgrim2011"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Mark <span class="nom_auteur">Pilgrim</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://diveintopython3.net/your-first-python-program.html#everythingisanobject"><cite style="font-style:normal;" lang="en">Your First Python Program&nbsp;: 1.5 Everything Is An Object</cite></a>&nbsp;» [«&nbsp;<a rel="nofollow" class="external text" href="https://python.developpez.com/cours/DiveIntoPython/php/frdiveintopython/installing_python/windows.php">Plongez au coeur de Python</a>&nbsp;»], sur <span class="italique">Dive Into Python 3</span>, <time>2011</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-04" data-sort-value="2025-10-04">4 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-81"><span class="mw-cite-backlink"><a href="#cite_ref-81">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls"><cite style="font-style:normal;" lang="en">Why must ‘self’ be used explicitly in method definitions and calls?</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-zeste2016-10-21-82"><span class="reference-text"><span class="ouvrage" id="entwanne2016">entwanne, «&nbsp;<a rel="nofollow" class="external text" href="https://zestedesavoir.com/articles/1079/les-secrets-dun-code-pythonique/"><cite style="font-style:normal;">Les secrets d'un code pythonique</cite></a>&nbsp;», sur <span class="italique">Zeste de Savoir</span>, <time class="nowrap" datetime="2016-10-21" data-sort-value="2016-10-21">21 octobre 2016</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-83"><span class="mw-cite-backlink"><a href="#cite_ref-83">↑</a> </span><span class="reference-text"><span class="ouvrage" id="BarrettCasselsHaahrMoon1996"><span class="ouvrage" id="Kim_BarrettBob_CasselsPaul_HaahrDavid_A._Moon1996">Kim Barrett, Bob Cassels, Paul Haahr, David A. Moon, Keith Playford et P. Tucker Withington, «&nbsp;<cite style="font-style:normal">A monotonic superclass linearization for Dylan</cite>&nbsp;», <i>ACM SIGPLAN Notices</i>, <abbr class="abbr" title="volume">vol.</abbr>&nbsp;31, <abbr class="abbr" title="numéro">n<sup>o</sup></abbr>&nbsp;10,‎ <time class="nowrap" datetime="1996-10" data-sort-value="1996-10">octobre 1996</time>, <abbr class="abbr" title="pages">p.</abbr>&nbsp;<span class="nowrap">69-82</span> <small style="line-height:1em;">(<a href="Digital_Object_Identifier" title="Digital Object Identifier">DOI</a>&nbsp;<span class=" noarchive nowrap"><a rel="nofollow" class="external text" href="https://dx.doi.org/10.1145/236337.236343">10.1145/236337.236343</a></span>, <a rel="nofollow" class="external text" href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.3910">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=A+monotonic+superclass+linearization+for+Dylan&amp;rft.jtitle=ACM+SIGPLAN+Notices&amp;rft.issue=10&amp;rft.aulast=Barrett&amp;rft.aufirst=Kim&amp;rft.au=Bob+Cassels&amp;rft.au=Paul+Haahr&amp;rft.au=David+A.+Moon&amp;rft.au=Keith+Playford&amp;rft.au=P.+Tucker+Withington&amp;rft.date=1996-10&amp;rft.volume=31&amp;rft.pages=69-82&amp;rft_id=info%3Adoi%2F10.1145%2F236337.236343&amp;rft_id=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.19.3910&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.</span>
</li>
<li id="cite_note-84"><span class="mw-cite-backlink"><a href="#cite_ref-84">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Simionato2005"><span class="ouvrage" id="Michele_Simionato2005"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Michele <span class="nom_auteur">Simionato</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/download/releases/2.3/mro/"><cite style="font-style:normal;" lang="en">The Python 2.3 Method Resolution Order</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2005-02-08" data-sort-value="2005-02-08">8 février 2005</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-google-pyguide-85"><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://google.github.io/styleguide/pyguide.html"><cite style="font-style:normal;" lang="en">Google Python Style Guide</cite></a>&nbsp;», sur <span class="italique">github</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-16" data-sort-value="2025-09-16">16 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-Swinnen201279-105-86"><span class="mw-cite-backlink"><a href="#cite_ref-Swinnen201279-105_86-0">↑</a> </span><span class="reference-text"><a href="#Swinnen2012">Swinnen 2012</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;79-105. </span>
</li>
<li id="cite_note-87"><span class="mw-cite-backlink"><a href="#cite_ref-87">↑</a> </span><span class="reference-text"><span class="ouvrage" id="McFarlane2000"><span class="ouvrage" id="Greg_McFarlane2000"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Greg <span class="nom_auteur">McFarlane</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.slac.stanford.edu/grp/cd/soft/pmw/starting.html"><cite style="font-style:normal;" lang="en">Getting started with Pmw</cite></a>&nbsp;», sur <span class="italique">Stanford National Accelerator Laboratory</span>, <time class="nowrap" datetime="2000-05-12" data-sort-value="2000-05-12">12 mai 2000</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-medium2018-11-13-88"><span class="reference-text"><span class="ouvrage" id="Beraud2018"><span class="ouvrage" id="Hervé_Beraud2018"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Hervé <span class="nom_auteur">Beraud</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://medium.com/@herveberaud.pro/python-after-guido-bdfl-the-future-of-the-governance-of-python-2969bab19c7e"><cite style="font-style:normal;" lang="en">Python after Guido BDFL, the future of the governance of python</cite></a>&nbsp;», sur <span class="italique">medium.com</span>, <time class="nowrap" datetime="2018-11-13" data-sort-value="2018-11-13">13 novembre 2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-89"><span class="mw-cite-backlink"><a href="#cite_ref-89">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.mail-archive.com/python-committers@python.org/msg05628.html"><cite style="font-style:normal;" lang="en">[python-committers] Transfer of power</cite></a>&nbsp;», sur <span class="italique">www.mail-archive.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-10-19" data-sort-value="2020-10-19">19 octobre 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-90"><span class="mw-cite-backlink"><a href="#cite_ref-90">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2019"><abbr class="abbr indicateur-langue" title="Langue : anglais américain">(en-US)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://discuss.python.org/t/steering-council-nomination-guido-van-rossum-2020-term/2657/11"><cite style="font-style:normal;" lang="en-us">Steering Council nomination: Guido van Rossum (2020 term)</cite></a>&nbsp;», sur <span class="italique">Discussions on Python.org</span>, <time class="nowrap" datetime="2019-11-27" data-sort-value="2019-11-27">27 novembre 2019</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-10-19" data-sort-value="2020-10-19">19 octobre 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-91"><span class="mw-cite-backlink"><a href="#cite_ref-91">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025">«&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.13/tutorial/appetite.html"><cite style="font-style:normal;">1. Mise en bouche</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-24" data-sort-value="2025-09-24">24 septembre 2025</time>)</small></span>&nbsp;: <span class="citation">«&nbsp;Faire référence aux sketchs des Monty Python dans la documentation n'est pas seulement permis, c'est encouragé&nbsp;!&nbsp;»</span></span>
</li>
<li id="cite_note-92"><span class="mw-cite-backlink"><a href="#cite_ref-92">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Watters1995"><span class="ouvrage" id="Aaron_Watters1995"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Aaron <span class="nom_auteur">Watters</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/doc/humor/#legal-issues"><cite style="font-style:normal;" lang="en">Legal Issues</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="1995-03-30" data-sort-value="1995-03-30">30 mars 1995</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-24" data-sort-value="2025-09-24">24 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-93"><span class="mw-cite-backlink"><a href="#cite_ref-93">↑</a> </span><span class="reference-text"><span class="ouvrage" id="BarnetteLevineBarrett2025"><span class="ouvrage" id="Martha_BarnetteStefanie_LevineGrant_Barrett2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Martha <span class="nom_auteur">Barnette</span>, Stefanie <span class="nom_auteur">Levine</span> et Grant <span class="nom_auteur">Barrett</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://waywordradio.org/newsletter-lobster-thermidor-aux-crevettes-with-a-mornay-sauce-garnished-with-truffle-pate-brandy-and-a-fried-egg-on-top-and-spam/"><cite style="font-style:normal;" lang="en">Newsletter: Lobster Thermidor Aux Crevettes With a Mornay Sauce, Garnished With Truffle Pâté, Brandy, and a Fried Egg on Top, and Spam</cite></a>&nbsp;», sur <span class="italique">A Way with Words</span>, <time class="nowrap" datetime="2025-07-26" data-sort-value="2025-07-26">26 juillet 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-24" data-sort-value="2025-09-24">24 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-94"><span class="mw-cite-backlink"><a href="#cite_ref-94">↑</a> </span><span class="reference-text"><span class="ouvrage" id="van_RossumHettinger2025"><span class="ouvrage" id="Guido_van_RossumRaymond_Hettinger2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span> et Raymond <span class="nom_auteur">Hettinger</span> (from C source provided by Adrian Baddeley), «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/library/random.html#command-line-example"><cite style="font-style:normal;" lang="en">random — Generate pseudo-random numbers</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2025-02-21" data-sort-value="2025-02-21">21 février 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-24" data-sort-value="2025-09-24">24 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-95"><span class="mw-cite-backlink"><a href="#cite_ref-95">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/about/quotes/"><cite style="font-style:normal;" lang="en">Quotes about Python</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-96"><span class="mw-cite-backlink"><a href="#cite_ref-96">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Chausson2012"><span class="ouvrage" id="Cyrille_Chausson2012">Cyrille <span class="nom_auteur">Chausson</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.lemagit.fr/actualites/2240199595/Guido-van-Rossum-le-pere-de-Python-passe-de-Google-a-Dropbox"><cite style="font-style:normal;">Guido van Rossum, le père de Python, passe de Google à Dropbox</cite></a>&nbsp;», sur <span class="italique">LeMagIT</span>, <time class="nowrap" datetime="2012-12-11" data-sort-value="2012-12-11">11 décembre 2012</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-09" data-sort-value="2025-09-09">9 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-stack2017-06-14-97"><span class="reference-text"><span class="ouvrage" id="Gienow2017"><span class="ouvrage" id="Michelle_Gienow2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Michelle <span class="nom_auteur">Gienow</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://thenewstack.io/instagram-makes-smooth-move-python-3/"><cite style="font-style:normal;" lang="en">Instagram Makes a Smooth Move to Python 3</cite></a>&nbsp;», sur <span class="italique">The New Stack</span>, <time class="nowrap" datetime="2017-06-14" data-sort-value="2017-06-14">14 juin 2017</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-nasa024-06-21-98"><span class="reference-text"><span class="ouvrage" id="Chang2024"><span class="ouvrage" id="Sherry_Chang2024"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Sherry <span class="nom_auteur">Chang</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.nas.nasa.gov/hecc/support/kb/using-the-intel-distribution-for-python_562.html"><cite style="font-style:normal;" lang="en">Using the Intel Distribution for Python</cite></a>&nbsp;», sur <span class="italique">NASA</span>, <time class="nowrap" datetime="2024-06-21" data-sort-value="2024-06-21">21 juin 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-10" data-sort-value="2025-09-10">10 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-zdnet2002-07-04-99"><span class="reference-text"><span class="ouvrage" id="Shafer2002"><span class="ouvrage" id="Daniel_G._Shafer2002"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Daniel G. <span class="nom_auteur">Shafer</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.zdnet.com/article/space-shuttle-engineers-use-python-to-streamline-mission-design/"><cite style="font-style:normal;" lang="en">Space shuttle engineers use Python to streamline mission design</cite></a>&nbsp;», sur <span class="italique">ZDNet</span>, <time class="nowrap" datetime="2002-07-04" data-sort-value="2002-07-04">4 juillet 2002</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-100"><span class="mw-cite-backlink"><a href="#cite_ref-100">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2018"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://resources.arcgis.com/en/communities/python/"><cite style="font-style:normal;" lang="en">Python for ArcGIS</cite></a>&nbsp;», sur <span class="italique">arcgis</span>, <time class="nowrap" datetime="2018-01-23" data-sort-value="2018-01-23">23 janvier 2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-02" data-sort-value="2025-10-02">2 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-101"><span class="mw-cite-backlink"><a href="#cite_ref-101">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://wiki.python.org/moin/PythonImplementations"><cite style="font-style:normal;">PythonImplementations - Python Wiki</cite></a>&nbsp;», sur <span class="italique">wiki.python.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-09-18" data-sort-value="2023-09-18">18 septembre 2023</time>)</small></span></span>
</li>
<li id="cite_note-102"><span class="mw-cite-backlink"><a href="#cite_ref-102">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<a rel="nofollow" class="external text" href="https://brython.info/"><cite style="font-style:normal;">Brython</cite></a>&nbsp;», sur <span class="italique">brython.info</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2021-03-21" data-sort-value="2021-03-21">21 mars 2021</time>)</small></span>.</span>
</li>
<li id="cite_note-103"><span class="mw-cite-backlink"><a href="#cite_ref-103">↑</a> </span><span class="reference-text"><span class="ouvrage">«&nbsp;<cite style="font-style:normal;">shedskin</cite>&nbsp;» <small class=" cachelinks">[<a rel="nofollow" class="external text" href="https://code.google.com/archive/p/shedskin">archive du <time class="nowrap" datetime="2013-06-16" data-sort-value="2013-06-16">16 juin 2013</time></a>]</small>, sur <span class="italique">google</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-06" data-sort-value="2025-10-06">6 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-104"><span class="mw-cite-backlink"><a href="#cite_ref-104">↑</a> </span><span class="reference-text"><span class="ouvrage" id="WoutersYasskinWinter"><span class="ouvrage" id="Thomas_WoutersJeffrey_YasskinCollin_Winter">Thomas <span class="nom_auteur">Wouters</span>, Jeffrey <span class="nom_auteur">Yasskin</span> et Collin <span class="nom_auteur">Winter</span>, «&nbsp;<cite style="font-style:normal;">unladen-swallow</cite>&nbsp;» <small class=" cachelinks">[<a rel="nofollow" class="external text" href="https://code.google.com/archive/p/unladen-swallow">archive du <time class="nowrap" datetime="2009-10-20" data-sort-value="2009-10-20">20 octobre 2009</time></a>]</small>, sur <span class="italique">google</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-06" data-sort-value="2025-10-06">6 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-105"><span class="mw-cite-backlink"><a href="#cite_ref-105">↑</a> </span><span class="reference-text"><span class="ouvrage" id="BouwmanLyu2025"><span class="ouvrage" id="Windel_BouwmanShing_Lyu2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Windel <span class="nom_auteur">Bouwman</span> et Shing <span class="nom_auteur">Lyu</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://github.com/RustPython/RustPython"><cite style="font-style:normal;" lang="en">RustPython: A Python Interpreter written in Rust</cite></a>&nbsp;», sur <span class="italique">github</span>, <time class="nowrap" datetime="2025-09-29" data-sort-value="2025-09-29">29 septembre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-06" data-sort-value="2025-10-06">6 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-106"><span class="mw-cite-backlink"><a href="#cite_ref-106">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2022"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://wiki.python.org/moin/BeginnersGuide/Download"><cite style="font-style:normal;" lang="en">BeginnersGuide&nbsp;: Downloading Python</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2022-11-04" data-sort-value="2022-11-04">4 novembre 2022</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-10" data-sort-value="2025-09-10">10 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-Swinnen2012X,_381-107"><span class="mw-cite-backlink"><a href="#cite_ref-Swinnen2012X,_381_107-0">↑</a> </span><span class="reference-text"><a href="#Swinnen2012">Swinnen 2012</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;X, 381. </span>
</li>
<li id="cite_note-108"><span class="mw-cite-backlink"><a href="#cite_ref-108">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Coombes2014"><span class="ouvrage" id="James_Coombes2014"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> James <span class="nom_auteur">Coombes</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://cloud.wikis.utexas.edu/wiki/spaces/MSBTech/pages/69833211/Enthought+Python+Canopy+Express"><cite style="font-style:normal;" lang="en">Enthought Python Canopy Express</cite></a>&nbsp;», sur <span class="italique">Université du Texas à Austin</span>, <time class="nowrap" datetime="2014-08-15" data-sort-value="2014-08-15">15 août 2014</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-10" data-sort-value="2025-09-10">10 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-FuchsPoulain2024383-109"><span class="reference-text"><a href="#FuchsPoulain2024">Fuchs et Poulain 2024</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;383. </span>
</li>
<li id="cite_note-CordeauPointal2025xiv,_6-110"><span class="mw-cite-backlink"><a href="#cite_ref-CordeauPointal2025xiv,_6_110-0">↑</a> </span><span class="reference-text"><a href="#CordeauPointal2025">Cordeau et Pointal 2025</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;xiv, 6. </span>
</li>
<li id="cite_note-111"><span class="mw-cite-backlink"><a href="#cite_ref-111">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Validire2014"><span class="ouvrage" id="Romain_Validire2014">Romain <span class="nom_auteur">Validire</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://etablissementbertrandeborn.net/blogprepasciences/index.php/post/2014/04/03/Installation-WinPython"><cite style="font-style:normal;">Installation WinPython</cite></a>&nbsp;», sur <span class="italique">Lycée Bertran de Born</span>, <time class="nowrap" datetime="2014-04-03" data-sort-value="2014-04-03">3 avril 2014</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-10" data-sort-value="2025-09-10">10 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-112"><span class="mw-cite-backlink"><a href="#cite_ref-112">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2000"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/"><cite style="font-style:normal;" lang="en">PEP 0 – Index of Python Enhancement Proposals (PEPs)</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2000-07-13" data-sort-value="2000-07-13">13 juillet 2000</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-113"><span class="mw-cite-backlink"><a href="#cite_ref-113">↑</a> </span><span class="reference-text"><span class="ouvrage" id="1999"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/download/releases/1.5/whatsnew/"><cite style="font-style:normal;" lang="en">What's New in Python 1.5</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="1999-04-13" data-sort-value="1999-04-13">13 avril 1999</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-114"><span class="mw-cite-backlink"><a href="#cite_ref-114">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2000"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/download/releases/1.6/#news"><cite style="font-style:normal;" lang="en">What's New in Python 1.6</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2000-09-05" data-sort-value="2000-09-05">5 septembre 2000</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-115"><span class="mw-cite-backlink"><a href="#cite_ref-115">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling2000"><span class="ouvrage" id="A.M._Kuchling2000"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20070927015913/http://www.amk.ca/python/2.1/"><cite style="font-style:normal;" lang="en">What's New in Python 2.1</cite></a>&nbsp;», sur <span class="italique">archive.org</span>, <time class="nowrap" datetime="2000-10-16" data-sort-value="2000-10-16">16 octobre 2000</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-116"><span class="mw-cite-backlink"><a href="#cite_ref-116">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025">«&nbsp;<a rel="nofollow" class="external text" href="https://www.gnu.org/licenses/license-list.fr.html#Python"><cite style="font-style:normal;">Licence de Python, versions 2.0.1, 2.1.1 et suivantes</cite></a>&nbsp;», sur <span class="italique">gnu.org</span>, <time class="nowrap" datetime="2025-08-13" data-sort-value="2025-08-13">13 août 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-117"><span class="mw-cite-backlink"><a href="#cite_ref-117">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling2003"><span class="ouvrage" id="A.M._Kuchling2003"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/2.2/whatsnew/whatsnew22.html"><cite style="font-style:normal;" lang="en">What's New in Python 2.2</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2003-05-30" data-sort-value="2003-05-30">30 mai 2003</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-118"><span class="mw-cite-backlink"><a href="#cite_ref-118">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling2005"><span class="ouvrage" id="A.M._Kuchling2005"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/2.3/whatsnew/whatsnew23.html"><cite style="font-style:normal;" lang="en">What's New in Python 2.3</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2005-02-08" data-sort-value="2005-02-08">8 février 2005</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-119"><span class="mw-cite-backlink"><a href="#cite_ref-119">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling2004"><span class="ouvrage" id="A.M._Kuchling2004"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/2.4/whatsnew/whatsnew24.html"><cite style="font-style:normal;" lang="en">What's New in Python 2.4</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2004</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-120"><span class="mw-cite-backlink"><a href="#cite_ref-120">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling2006"><span class="ouvrage" id="A.M._Kuchling2006"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/2.5/whatsnew/whatsnew25.html"><cite style="font-style:normal;" lang="en">What's New in Python 2.5</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2006</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-121"><span class="mw-cite-backlink"><a href="#cite_ref-121">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Kuchling2013"><span class="ouvrage" id="A.M._Kuchling2013"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> A.M. <span class="nom_auteur">Kuchling</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/2.6/whatsnew/2.6.html"><cite style="font-style:normal;" lang="en">What's New in Python 2.6</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2013-10-29" data-sort-value="2013-10-29">29 octobre 2013</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-122"><span class="mw-cite-backlink"><a href="#cite_ref-122">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Hettinger2014"><span class="ouvrage" id="Raymond_Hettinger2014"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Raymond <span class="nom_auteur">Hettinger</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.2/whatsnew/3.2.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.2</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2014-04-12" data-sort-value="2014-04-12">12 avril 2014</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-123"><span class="mw-cite-backlink"><a href="#cite_ref-123">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2012"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.3/whatsnew/3.3.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.3</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2012-09-29" data-sort-value="2012-09-29">29 septembre 2012</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-124"><span class="mw-cite-backlink"><a href="#cite_ref-124">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Murray2014"><span class="ouvrage" id="R._David_Murray2014"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> R. David <span class="nom_auteur">Murray</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.4/whatsnew/3.4.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.4</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2014-03-16" data-sort-value="2014-03-16">16 mars 2014</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-125"><span class="mw-cite-backlink"><a href="#cite_ref-125">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Pranskevichus2015"><span class="ouvrage" id="Elvis_Pranskevichus2015"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Elvis <span class="nom_auteur">Pranskevichus</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.5/whatsnew/3.5.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.5</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2015-09-13" data-sort-value="2015-09-13">13 septembre 2015</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-126"><span class="mw-cite-backlink"><a href="#cite_ref-126">↑</a> </span><span class="reference-text"><span class="ouvrage" id="PranskevichusSelivanov2016"><span class="ouvrage" id="Elvis_PranskevichusYury_Selivanov2016"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Elvis <span class="nom_auteur">Pranskevichus</span> et Yury <span class="nom_auteur">Selivanov</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.6/whatsnew/3.6.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.6</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2016-12-23" data-sort-value="2016-12-23">23 décembre 2016</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-FuchsPoulain202426-127"><span class="mw-cite-backlink"><a href="#cite_ref-FuchsPoulain202426_127-0">↑</a> </span><span class="reference-text"><a href="#FuchsPoulain2024">Fuchs et Poulain 2024</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;26. </span>
</li>
<li id="cite_note-128"><span class="mw-cite-backlink"><a href="#cite_ref-128">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Pranskevichus2018"><span class="ouvrage" id="Elvis_Pranskevichus2018"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Elvis <span class="nom_auteur">Pranskevichus</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.7/whatsnew/3.7.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.7</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2018-06-27" data-sort-value="2018-06-27">27 juin 2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-FuchsPoulain202467-129"><span class="mw-cite-backlink"><a href="#cite_ref-FuchsPoulain202467_129-0">↑</a> </span><span class="reference-text"><a href="#FuchsPoulain2024">Fuchs et Poulain 2024</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;67. </span>
</li>
<li id="cite_note-130"><span class="mw-cite-backlink"><a href="#cite_ref-130">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Hettinger2019"><span class="ouvrage" id="Raymond_Hettinger2019">Raymond <span class="nom_auteur">Hettinger</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.8/whatsnew/3.8.html"><cite style="font-style:normal;">Les nouveautés de Python 3.8</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2019-10-14" data-sort-value="2019-10-14">14 octobre 2019</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-pep572-131"><span class="reference-text"><span class="ouvrage" id="AngelicoPetersvan_Rossum2018"><span class="ouvrage" id="Chris_AngelicoTim_PetersGuido_van_Rossum2018"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Chris <span class="nom_auteur">Angelico</span>, Tim <span class="nom_auteur">Peters</span> et Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0572/"><cite style="font-style:normal;" lang="en">PEP 572 – Assignment Expressions</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2018-02-28" data-sort-value="2018-02-28">28 février 2018</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-132"><span class="mw-cite-backlink"><a href="#cite_ref-132">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Langa2025"><span class="ouvrage" id="Łukasz_Langa2025">Łukasz <span class="nom_auteur">Langa</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.9/whatsnew/3.9.html"><cite style="font-style:normal;">Les nouveautés de Python 3.9</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2025-07-08" data-sort-value="2025-07-08">8 juillet 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-133"><span class="mw-cite-backlink"><a href="#cite_ref-133">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Fassinou2020"><span class="ouvrage" id="Bill_Fassinou2020">Bill <span class="nom_auteur">Fassinou</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://python.developpez.com/actu/308837/Toutes-les-versions-de-Python-inferieures-a-3-6-sont-maintenant-en-fin-de-vie-la-version-3-9-sera-livree-en-octobre-prochain-et-la-version-3-10-un-an-apres/"><cite style="font-style:normal;">Toutes les versions de Python inférieures à 3.6 sont maintenant en fin de vie</cite></a>&nbsp;», sur <span class="italique">developpez</span>, <time class="nowrap" datetime="2020-09-15" data-sort-value="2020-09-15">15 septembre 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-134"><span class="mw-cite-backlink"><a href="#cite_ref-134">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Galindo_Salgado2025"><span class="ouvrage" id="Pablo_Galindo_Salgado2025">Pablo <span class="nom_auteur">Galindo Salgado</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.10/whatsnew/3.10.html"><cite style="font-style:normal;">Les nouveautés de Python 3.10</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2025-07-08" data-sort-value="2025-07-08">8 juillet 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-FuchsPoulain202416-135"><span class="mw-cite-backlink"><a href="#cite_ref-FuchsPoulain202416_135-0">↑</a> </span><span class="reference-text"><a href="#FuchsPoulain2024">Fuchs et Poulain 2024</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;16. </span>
</li>
<li id="cite_note-136"><span class="mw-cite-backlink"><a href="#cite_ref-136">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Galindo_Salgado2022"><span class="ouvrage" id="Pablo_Galindo_Salgado2022">Pablo <span class="nom_auteur">Galindo Salgado</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.11/whatsnew/3.11.html"><cite style="font-style:normal;">Les nouveautés de Python 3.11</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2022-10-24" data-sort-value="2022-10-24">24 octobre 2022</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-FuchsPoulain202410-137"><span class="mw-cite-backlink"><a href="#cite_ref-FuchsPoulain202410_137-0">↑</a> </span><span class="reference-text"><a href="#FuchsPoulain2024">Fuchs et Poulain 2024</a>, <abbr class="abbr" title="page(s)">p.</abbr>&nbsp;10. </span>
</li>
<li id="cite_note-138"><span class="mw-cite-backlink"><a href="#cite_ref-138">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Turner2023"><span class="ouvrage" id="Adam_Turner2023"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Adam <span class="nom_auteur">Turner</span> (<abbr class="abbr" title="traduction">trad.</abbr>&nbsp;<a rel="nofollow" class="external text" href="https://python.developpez.com/actu/349043/Python-3-12-la-derniere-version-apporte-des-modifications-du-langage-et-de-la-bibliotheque-standard-elle-comporte-aussi-une-amelioration-des-messages-d-erreur/">Jade Emy</a>), «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.12/whatsnew/3.12.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.12</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2023-10-02" data-sort-value="2023-10-02">2 octobre 2023</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-139"><span class="mw-cite-backlink"><a href="#cite_ref-139">↑</a> </span><span class="reference-text"><span class="ouvrage" id="TurnerWouters2024"><span class="ouvrage" id="Adam_TurnerThomas_Wouters2024"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Adam <span class="nom_auteur">Turner</span> et Thomas <span class="nom_auteur">Wouters</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3.13/whatsnew/3.13.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.13</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2024-10-07" data-sort-value="2024-10-07">7 octobre 2024</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-12" data-sort-value="2025-09-12">12 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-140"><span class="mw-cite-backlink"><a href="#cite_ref-140">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Turnervan_Kemenade2025"><span class="ouvrage" id="Adam_TurnerHugo_van_Kemenade2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Adam <span class="nom_auteur">Turner</span> et Hugo <span class="nom_auteur">van Kemenade</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.14/whatsnew/3.14.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.14</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-141"><span class="mw-cite-backlink"><a href="#cite_ref-141">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Mayuresh2025"><span class="ouvrage" id="K_Mayuresh2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> K <span class="nom_auteur">Mayuresh</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://mskadu.medium.com/python-3-14-seven-cool-new-features-you-should-know-0a79e6afaae5"><cite style="font-style:normal;" lang="en">Python 3.14: Seven Cool New Features You Should Know</cite></a>&nbsp;», sur <span class="italique">medium.com</span>, <time class="nowrap" datetime="2025-06-11" data-sort-value="2025-06-11">11 juin 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-06" data-sort-value="2025-10-06">6 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-pep-0750-142"><span class="reference-text"><span class="ouvrage" id="Bakervan_RossumEverittAono2025"><span class="ouvrage" id="Jim_BakerGuido_van_RossumPaul_EverittKoudai_Aono2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Jim <span class="nom_auteur">Baker</span>, Guido <span class="nom_auteur">van Rossum</span>, Paul <span class="nom_auteur">Everitt</span>, Koudai <span class="nom_auteur">Aono</span>, Lysandros <span class="nom_auteur">Nikolaou</span> et Dave <span class="nom_auteur">Peck</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0750/"><cite style="font-style:normal;" lang="en">PEP 750 – Template Strings</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2025-04-10" data-sort-value="2025-04-10">10 avril 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-07" data-sort-value="2025-10-07">7 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-143"><span class="mw-cite-backlink"><a href="#cite_ref-143">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/fr/3.15/whatsnew/3.15.html"><cite style="font-style:normal;" lang="en">What's New in Python 3.15</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-11" data-sort-value="2025-10-11">11 octobre 2025</time>)</small></span></span>
</li>
<li id="cite_note-144"><span class="mw-cite-backlink"><a href="#cite_ref-144">↑</a> </span><span class="reference-text"><span class="ouvrage" id="van_Rossum2025"><span class="ouvrage" id="Guido_van_Rossum2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://groups.google.com/g/comp.lang.python/c/Jnp7nzYZAis"><cite style="font-style:normal;" lang="en">Python 3000 released as 3.0a1</cite></a>&nbsp;», sur <span class="italique">comp.lang.python</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-pep-3000-145"><span class="reference-text"><span class="ouvrage" id="van_Rossum2006"><span class="ouvrage" id="Guido_van_Rossum2006"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-3000/"><cite style="font-style:normal;" lang="en">PEP 3000 – Python 3000</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2006-04-05" data-sort-value="2006-04-05">5 avril 2006</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-146"><span class="mw-cite-backlink"><a href="#cite_ref-146">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Wichmann2020"><span class="ouvrage" id="Mats_Wichmann2020"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Mats <span class="nom_auteur">Wichmann</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://wiki.python.org/moin/Python2orPython3"><cite style="font-style:normal;" lang="en">Should I use Python 2 or Python 3 for my development activity?</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2020-06-17" data-sort-value="2020-06-17">17 juin 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-03" data-sort-value="2025-10-03">3 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-147"><span class="mw-cite-backlink"><a href="#cite_ref-147">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Ruby2007"><span class="ouvrage" id="Sam_Ruby2007"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Sam <span class="nom_auteur">Ruby</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://intertwingly.net/blog/2007/09/01/2to3"><cite style="font-style:normal;" lang="en">2to3</cite></a>&nbsp;», sur <span class="italique">intertwingly</span>, <time class="nowrap" datetime="2007-09-01" data-sort-value="2007-09-01"><abbr class="abbr" title="premier">1<sup>er</sup></abbr> septembre 2007</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-22" data-sort-value="2025-09-22">22 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-148"><span class="mw-cite-backlink"><a href="#cite_ref-148">↑</a> </span><span class="reference-text"><span class="ouvrage" id="NorwitzWarsaw2006"><span class="ouvrage" id="Neal_NorwitzBarry_Warsaw2006"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Neal <span class="nom_auteur">Norwitz</span> et Barry <span class="nom_auteur">Warsaw</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0361/"><cite style="font-style:normal;" lang="en">PEP 361 – Python 2.6 and 3.0 Release Schedule</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2006-06-29" data-sort-value="2006-06-29">29 juin 2006</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-22" data-sort-value="2025-09-22">22 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-149"><span class="mw-cite-backlink"><a href="#cite_ref-149">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/using/android.html"><cite style="font-style:normal;" lang="en">6. Using Python on Android</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-22" data-sort-value="2025-09-22">22 septembre 2025</time>)</small></span>&nbsp;: <span class="citation">«&nbsp;<span class="lang-en" lang="en">Buildozer, from the Kivy project</span>&nbsp;»</span></span>
</li>
<li id="cite_note-150"><span class="mw-cite-backlink"><a href="#cite_ref-150">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://docs.python.org/3/using/ios.html"><cite style="font-style:normal;" lang="en">7. Using Python on iOS</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-22" data-sort-value="2025-09-22">22 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-151"><span class="mw-cite-backlink"><a href="#cite_ref-151">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2019"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://github.com/blackberry/Python"><cite style="font-style:normal;" lang="en">blackberry/Python</cite></a>&nbsp;», sur <span class="italique">github</span>, <time class="nowrap" datetime="2019-09-04" data-sort-value="2019-09-04">4 septembre 2019</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-22" data-sort-value="2025-09-22">22 septembre 2025</time>)</small></span>&nbsp;: <span class="citation">«&nbsp;<span class="lang-en" lang="en">This repository was archived by the owner on Sep 4, 2019.</span>&nbsp;»</span></span>
</li>
<li id="cite_note-152"><span class="mw-cite-backlink"><a href="#cite_ref-152">↑</a> </span><span class="reference-text"><span class="ouvrage" id="jzb2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> jzb, «&nbsp;<a rel="nofollow" class="external text" href="https://lwn.net/Articles/1035537/"><cite style="font-style:normal;" lang="en">Python: The Documentary</cite></a>&nbsp;», sur <span class="italique"><a href="LWN.net" title="LWN.net">LWN.net</a></span>, <time class="nowrap" datetime="2025-08-28" data-sort-value="2025-08-28">28 août 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-stack2025-08-25-153"><span class="reference-text"><span class="ouvrage" id="Cassel2025"><span class="ouvrage" id="David_Cassel2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> David <span class="nom_auteur">Cassel</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://thenewstack.io/guido-van-rossum-revisits-pythons-life-in-a-new-documentary/"><cite style="font-style:normal;" lang="en">Guido van Rossum Revisits Python’s Life in a New Documentary</cite></a>&nbsp;», sur <span class="italique">The New Stack</span>, <time class="nowrap" datetime="2025-08-25" data-sort-value="2025-08-25">25 août 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-154"><span class="mw-cite-backlink"><a href="#cite_ref-154">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://2025.pycon.gr/en/program/python-the-documentary-premiere/"><cite style="font-style:normal;" lang="en">Python: the Documentary - Premiere</cite></a>&nbsp;», sur <span class="italique">pycon.gr</span>, <time class="nowrap" datetime="2025-08-28" data-sort-value="2025-08-28">28 août 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-realpython2025-09-20-155"><span class="mw-cite-backlink"><a href="#cite_ref-realpython2025-09-20_155-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Acsany2025"><span class="ouvrage" id="Philipp_Acsany2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Philipp <span class="nom_auteur">Acsany</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://realpython.com/python-news-september-2025/"><cite style="font-style:normal;" lang="en">The Python Documentary Celebrates History While Developer Surveys Celebrate Python</cite></a>&nbsp;», sur <span class="italique">Real Python</span>, <time class="nowrap" datetime="2025-09-08" data-sort-value="2025-09-08">8 septembre 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-156"><span class="mw-cite-backlink"><a href="#cite_ref-156">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Eleftherakou2022"><span class="ouvrage" id="Olga_Eleftherakou2022"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Olga <span class="nom_auteur">Eleftherakou</span> (Όλγα Ελευθεράκου), «&nbsp;<a rel="nofollow" class="external text" href="https://medium.com/code-like-a-girl/statistical-analysis-for-women-rights-in-python-19db107f85a6"><cite style="font-style:normal;" lang="en">Statistical Analysis for Women’s Rights in Python&nbsp;: Code Like A Girl</cite></a>&nbsp;» [«&nbsp;YaY! Στατιστική Ανάλυση για τα Δικαιώματα των Γυναικών σε Python&nbsp;»], sur <span class="italique">medium.com</span>,‎ <time class="nowrap" datetime="2022-04-30" data-sort-value="2022-04-30">30 avril 2022</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-06" data-sort-value="2025-10-06">6 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-157"><span class="mw-cite-backlink"><a href="#cite_ref-157">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Dennis2025"><span class="ouvrage" id="Yancy_Dennis2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Yancy <span class="nom_auteur">Dennis</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://python.plainenglish.io/the-rise-of-pyladies-empowering-women-in-python-567667671dc6"><cite style="font-style:normal;" lang="en">The Rise of PyLadies: Empowering Women in Python</cite></a>&nbsp;», sur <span class="italique">Medium</span>, <time class="nowrap" datetime="2025-03-07" data-sort-value="2025-03-07">7 mars 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-06" data-sort-value="2025-10-06">6 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-158"><span class="mw-cite-backlink"><a href="#cite_ref-158">↑</a> </span><span class="reference-text"><span class="ouvrage" id="WongMesaWijaya2020"><span class="ouvrage" id="Elaine_WongLorena_MesaMariatta_Wijaya2020"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Elaine <span class="nom_auteur">Wong</span>, Lorena <span class="nom_auteur">Mesa</span> et Mariatta <span class="nom_auteur">Wijaya</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://2020.pycascades.com/talks/9-years-of-pyladies-lessons-learned-and-what-comes-next/"><cite style="font-style:normal;" lang="en">9 Years of PyLadies: Lessons Learned and What Comes Next</cite></a>&nbsp;», sur <span class="italique">PyCascades</span>, <time class="nowrap" datetime="2020-02-07" data-sort-value="2020-02-07">7 février 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-159"><span class="mw-cite-backlink"><a href="#cite_ref-159">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2014"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/psf/records/board/history/#jessica-mckellar"><cite style="font-style:normal;" lang="en">Current and Past PSF Officers &amp; Board Members</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time>2014</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-160"><span class="mw-cite-backlink"><a href="#cite_ref-160">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://womentalkdesign.com/speakers/lisa-roach/"><cite style="font-style:normal;" lang="en">Lisa Roach</cite></a>&nbsp;», sur <span class="italique">Women Talk Design</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-medium2020-03-02-161"><span class="reference-text"><span class="ouvrage" id="Omprakash2020"><span class="ouvrage" id="Arpit_Omprakash2020"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Arpit <span class="nom_auteur">Omprakash</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://medium.com/byte-sized-code/are-you-a-pythonista-197debd5efa6"><cite style="font-style:normal;" lang="en">Are you a Pythonista?</cite></a>&nbsp;», sur <span class="italique">medium.com</span>, <time class="nowrap" datetime="2020-03-02" data-sort-value="2020-03-02">2 mars 2020</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-20" data-sort-value="2025-09-20">20 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-zdnet2021-05-14-162"><span class="reference-text"><span class="ouvrage" id="Tung2021"><span class="ouvrage" id="Liam_Tung2021"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Liam <span class="nom_auteur">Tung</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.zdnet.com/article/python-programming-we-want-to-make-the-language-twice-as-fast-says-its-creator/"><cite style="font-style:normal;" lang="en">Python programming: We want to make the language twice as fast, says its creator</cite></a>&nbsp;», sur <span class="italique">ZDNet</span>, <time class="nowrap" datetime="2021-05-14" data-sort-value="2021-05-14">14 mai 2021</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-163"><span class="mw-cite-backlink"><a href="#cite_ref-163">↑</a> </span><span class="reference-text"><span class="ouvrage" id="van_Rossum2008"><span class="ouvrage" id="Guido_van_Rossum2008"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Guido <span class="nom_auteur">van Rossum</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.artima.com/weblogs/viewpost.jsp?thread=235725#:~:text=Interim%20Benevolent"><cite style="font-style:normal;" lang="en">Origin of BDFL&nbsp;: All Things Pythonic</cite></a>&nbsp;», sur <span class="italique">artima</span>, <time class="nowrap" datetime="2008-07-31" data-sort-value="2008-07-31">31 juillet 2008</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-27" data-sort-value="2025-09-27">27 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-164"><span class="mw-cite-backlink"><a href="#cite_ref-164">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Peters2004"><span class="ouvrage" id="Tim_Peters2004"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Tim <span class="nom_auteur">Peters</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://peps.python.org/pep-0020/"><cite style="font-style:normal;" lang="en">PEP 20 – The Zen of Python</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2004-08-19" data-sort-value="2004-08-19">19 août 2004</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-05" data-sort-value="2025-10-05">5 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-165"><span class="mw-cite-backlink"><a href="#cite_ref-165">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Peters2025"><span class="ouvrage" id="Tim_Peters2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Tim <span class="nom_auteur">Peters</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://discuss.python.org/t/python-documentary-going-live-this-thursday-august-28/103319/2/#:~:text=Ida%20Bechtle"><cite style="font-style:normal;" lang="en">Python documentary going live this Thursday, August 28</cite></a>&nbsp;», sur <span class="italique">python.org</span>, <time class="nowrap" datetime="2025-08-26" data-sort-value="2025-08-26">26 août 2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-10-05" data-sort-value="2025-10-05">5 octobre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-166"><span class="mw-cite-backlink"><a href="#cite_ref-166">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2023"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/shows/microsoft-at-pycon-us-2023/staying-for-pythons-community-an-interview-with-brett-cannon-pycon-2023"><cite style="font-style:normal;" lang="en">Staying for Python's Community: An Interview with Brett Cannon PyCon 2023</cite></a>&nbsp;», sur <span class="italique">Microsoft</span>, <time>2023</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span>
</li>
<li id="cite_note-167"><span class="mw-cite-backlink"><a href="#cite_ref-167">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Orr2025"><span class="ouvrage" id="Kim_Orr2025"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Kim <span class="nom_auteur">Orr</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.jpl.nasa.gov/edu/resources/project/code-a-mars-landing/"><cite style="font-style:normal;" lang="en">Code a Mars Landing</cite></a>&nbsp;», sur <span class="italique">NASA</span>, <time>2025</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span>&nbsp;: <span class="citation">«&nbsp;<span class="lang-en" lang="en">Morse_Dict = { 'A':'.-', 'B':'-...', 'C':'-.-.'</span>&nbsp;»</span></span>
</li>
<li id="cite_note-168"><span class="mw-cite-backlink"><a href="#cite_ref-168">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Ingram2019"><span class="ouvrage" id="Dustin_Ingram2019"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Dustin <span class="nom_auteur">Ingram</span> (PyCon Cleveland 4 mai 2019), «&nbsp;<a rel="nofollow" class="external text" href="https://dustingram.com/talks/2019/04/04/the-walrus-operator/#:~:text=drama"><cite style="font-style:normal;" lang="en">PEP 572: The Walrus Operator</cite></a>&nbsp;», sur <span class="italique">dustingram.com</span>, <time class="nowrap" datetime="2019-04-04" data-sort-value="2019-04-04">4 avril 2019</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span></span>
</li>
<li id="cite_note-169"><span class="mw-cite-backlink"><a href="#cite_ref-169">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Ramel2022"><span class="ouvrage" id="David_Ramel2022"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> David <span class="nom_auteur">Ramel</span> (Steve Dower à EuroPython, Dublin 2022), «&nbsp;<a rel="nofollow" class="external text" href="https://visualstudiomagazine.com/articles/2022/07/12/python-vs-code.aspx"><cite style="font-style:normal;" lang="en">VS Code and Python: A Natural Fit for Data Science</cite></a>&nbsp;», sur <span class="italique">Visual Studio Magazine</span>, <time class="nowrap" datetime="2022-12-07" data-sort-value="2022-12-07">7 décembre 2022</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2025-09-21" data-sort-value="2025-09-21">21 septembre 2025</time>)</small></span></span>&nbsp;: <span class="citation">«&nbsp;<span class="lang-en" lang="en">Tales of Python Security</span>&nbsp;»</span></span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<style data-mw-deduplicate="TemplateStyles:r194021218">
/* start https://fr.wikipedia.org/ */


.mw-parser-output .autres-projets>.titre{text-align:center;margin:0.2em 0}.mw-parser-output .autres-projets>ul{margin:0;padding:0}.mw-parser-output .autres-projets>ul>li{list-style:none;margin:0.2em 0;text-indent:0;padding-left:24px;min-height:20px;text-align:left;display:block}.mw-parser-output .autres-projets>ul>li>a{font-style:italic}@media(max-width:720px){.mw-parser-output .autres-projets{float:none}}


/* end https://fr.wikipedia.org/ */
</style>
<div class="mw-heading mw-heading3"><h3 id="Bibliographie">Bibliographie</h3></div>
<ul><li><span class="ouvrage" id="Swinnen2012"><span class="ouvrage" id="Gérard_Swinnen2012">Gérard <span class="nom_auteur">Swinnen</span>, <cite class="italique">Apprendre à programmer avec Python 3</cite>, Eyrolles, <abbr class="abbr" title="collection">coll.</abbr>&nbsp;«&nbsp;Noire&nbsp;», <time class="nowrap" datetime="2012-02-02" data-sort-value="2012-02-02">2 février 2012</time>, <abbr class="abbr" title="troisième">3<sup>e</sup></abbr>&nbsp;<abbr class="abbr" title="édition">éd.</abbr>, 436&nbsp;<abbr class="abbr" title="pages">p.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-2-212-13434-6</span>, <a rel="nofollow" class="external text" href="https://inforef.be/swi/python.htm">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Apprendre+%C3%A0+programmer+avec+Python+3&amp;rft.pub=Eyrolles&amp;rft.edition=3&amp;rft.aulast=Swinnen&amp;rft.aufirst=G%C3%A9rard&amp;rft.date=2012-02-02&amp;rft.tpages=436&amp;rft.isbn=978-2-212-13434-6&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.<span class="nowrap" title="Ouvrage utilisé pour la rédaction de l'article">&nbsp;<span typeof="mw:File"><span></span></span></span></li>
<li><span class="ouvrage" id="DowneyElknerMeyers2016"><span class="ouvrage" id="Allen_B._DowneyJeffrey_ElknerChris_Meyers2016"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Allen B. <span class="nom_auteur">Downey</span>, Jeffrey <span class="nom_auteur">Elkner</span> et Chris <span class="nom_auteur">Meyers</span> (<abbr class="abbr" title="préface">préf.</abbr>&nbsp;<a rel="nofollow" class="external text" href="https://www.greenteapress.com/thinkpython/thinkCSpy/html/preface.html">Jeffrey Elkner</a>), <cite class="italique" lang="en">How to Think like a Computer Scientist: Learning with Python</cite> [«&nbsp;<a rel="nofollow" class="external text" href="https://allen-downey.developpez.com/livres/python/pensez-python/">Pensez en Python</a>&nbsp;»], O'Reilly, <time>2016</time>, <abbr class="abbr" title="deuxième">2<sup>e</sup></abbr>&nbsp;<abbr class="abbr" title="édition">éd.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-1-0981-5543-8</span>, <a rel="nofollow" class="external text" href="https://greenteapress.com/wp/think-python-2e/">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=How+to+Think+like+a+Computer+Scientist%3A+Learning+with+Python&amp;rft.edition=2&amp;rft.aulast=Downey&amp;rft.aufirst=Allen+B.&amp;rft.au=Elkner%2C+Jeffrey&amp;rft.au=Meyers%2C+Chris&amp;rft.date=2016&amp;rft.isbn=978-1-0981-5543-8&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.<span class="nowrap" title="Ouvrage utilisé pour la rédaction de l'article">&nbsp;<span typeof="mw:File"><span></span></span></span>&nbsp;:<blockquote><p>«&nbsp;<span class="lang-en" lang="en">Il faut treize paragraphes pour expliquer un <i>Hello, World!</i> en C++, seulement deux en Python</span>&nbsp;»</p></blockquote></li>
<li><span class="ouvrage" id="Lutz2009"><span class="ouvrage" id="Mark_Lutz2009"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Mark <span class="nom_auteur">Lutz</span>, <cite class="italique" lang="en">Learning Python&nbsp;: Powerful Object-Oriented Programming</cite>, O'Reilly, <time>2009</time>, <abbr class="abbr" title="quatrième">4<sup>e</sup></abbr>&nbsp;<abbr class="abbr" title="édition">éd.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-1-4493-7932-2</span>, <a rel="nofollow" class="external text" href="https://books.google.fr/books?id=1HxWGezDZcgC&amp;lpg=PP1&amp;hl=fr&amp;pg=PA17#v=onepage&amp;q&amp;f=false">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Learning+Python&amp;rft.pub=O%27Reilly&amp;rft.edition=4&amp;rft.stitle=Powerful+Object-Oriented+Programming&amp;rft.aulast=Lutz&amp;rft.aufirst=Mark&amp;rft.date=2009&amp;rft.isbn=978-1-4493-7932-2&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.<span class="nowrap" title="Ouvrage utilisé pour la rédaction de l'article">&nbsp;<span typeof="mw:File"><span></span></span></span></li>
<li><span class="ouvrage" id="FuchsPoulain2024"><span class="ouvrage" id="Patrick_FuchsPierre_Poulain2024">Patrick <span class="nom_auteur">Fuchs</span> et Pierre <span class="nom_auteur">Poulain</span>, <cite class="italique">Programmation en Python pour les sciences de la vie</cite>, Dunod, <time>2024</time>, 320&nbsp;<abbr class="abbr" title="pages">p.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-2-1008-6411-9</span>, <a rel="nofollow" class="external text" href="https://python.sdv.u-paris.fr/cours-python.pdf">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Programmation+en+Python+pour+les+sciences+de+la+vie&amp;rft.pub=Dunod&amp;rft.aulast=Fuchs&amp;rft.aufirst=Patrick&amp;rft.au=Poulain%2C+Pierre&amp;rft.date=2024&amp;rft.tpages=320&amp;rft.isbn=978-2-1008-6411-9&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.<span class="nowrap" title="Ouvrage utilisé pour la rédaction de l'article">&nbsp;<span typeof="mw:File"><span></span></span></span></li>
<li><span class="ouvrage" id="Ramalho2019"><span class="ouvrage" id="Luciano_Ramalho2019">Luciano Ramalho (<abbr class="abbr" title="traduction">trad.</abbr>&nbsp;Daniel Rougé), <cite class="italique">Programmer en Python&nbsp;: Apprendre la programmation de façon claire, concise et efficace</cite> [«&nbsp;Fluent Python: Clear, concise and effective programming. Éd. O'Reilly&nbsp;»], Éditions First, <time>2019</time> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-2-4120-4716-3</span>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Programmer+en+Python&amp;rft.pub=%C3%89ditions+First&amp;rft.stitle=Apprendre+la+programmation+de+fa%C3%A7on+claire%2C+concise+et+efficace&amp;rft.aulast=Ramalho&amp;rft.aufirst=Luciano&amp;rft.date=2019&amp;rft.isbn=978-2-4120-4716-3&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.</li>
<li><span class="ouvrage" id="Lutz2006"><span class="ouvrage" id="Mark_Lutz2006"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Mark <span class="nom_auteur">Lutz</span> (<abbr class="abbr" title="préface">préf.</abbr>&nbsp;<a rel="nofollow" class="external text" href="https://www.python.org/doc/essays/foreword/">Guido Van Rossum</a>), <cite class="italique" lang="en">Programming Python&nbsp;: Powerful Object-Oriented Programming</cite>, O'Reilly, <time class="nowrap" datetime="2006-08-23" data-sort-value="2006-08-23">23 août 2006</time>, <abbr class="abbr" title="troisième">3<sup>e</sup></abbr>&nbsp;<abbr class="abbr" title="édition">éd.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-0-5965-5461-3</span>, <a rel="nofollow" class="external text" href="https://www.google.fr/books/edition/Programming_Python/tN7JAceyJdUC?hl=fr&amp;gbpv=1&amp;printsec=frontcover&amp;bsq=grail">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Programming+Python&amp;rft.pub=O%27Reilly&amp;rft.edition=3&amp;rft.stitle=Powerful+Object-Oriented+Programming&amp;rft.aulast=Lutz&amp;rft.aufirst=Mark&amp;rft.date=2006-08-23&amp;rft.isbn=978-0-5965-5461-3&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.<span class="nowrap" title="Ouvrage utilisé pour la rédaction de l'article">&nbsp;<span typeof="mw:File"><span></span></span></span></li>
<li><span class="ouvrage" id="CordeauPointal2025"><span class="ouvrage" id="Bob_CordeauLaurent_Pointal2025">Bob <span class="nom_auteur">Cordeau</span> et Laurent <span class="nom_auteur">Pointal</span> (<abbr class="abbr" title="préface">préf.</abbr>&nbsp;Gérard Swinnen), <cite class="italique">Python 3&nbsp;: apprendre à programmer dans l'écosystème Python</cite>, Dunod, <time>2025</time>, 240&nbsp;<abbr class="abbr" title="pages">p.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-2-1008-7612-9</span>, <a rel="nofollow" class="external text" href="https://www.google.fr/books/edition/_/MmY-EQAAQBAJ?hl=fr&amp;gbpv=1">lire en ligne</a>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Python+3&amp;rft.pub=Dunod&amp;rft.stitle=apprendre+%C3%A0+programmer+dans+l%27%C3%A9cosyst%C3%A8me+Python&amp;rft.aulast=Cordeau&amp;rft.aufirst=Bob&amp;rft.au=Pointal%2C+Laurent&amp;rft.date=2025&amp;rft.tpages=240&amp;rft.isbn=978-2-1008-7612-9&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.<span class="nowrap" title="Ouvrage utilisé pour la rédaction de l'article">&nbsp;<span typeof="mw:File"><span></span></span></span></li>
<li><span class="ouvrage" id="Hellmann2017"><span class="ouvrage" id="Doug_Hellmann2017"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Doug Hellmann, <cite class="italique" lang="en">The Python Standard Library by Example</cite>, Addison-Wesley, <time>2017</time><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Python+Standard+Library+by+Example&amp;rft.pub=Addison-Wesley&amp;rft.aulast=Hellmann&amp;rft.aufirst=Doug&amp;rft.date=2017&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APython+%28langage%29"></span></span></span>.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liste_des_principaux_frameworks">Liste des principaux frameworks</h3></div>
<ol><li>Base de données
<ul><li><a href="Mapping_objet-relationnel" title="Mapping objet-relationnel">Mapping objet-relationnel</a> (ORM)&nbsp;: SQLObject, <a href="SQLAlchemy" title="SQLAlchemy">SQLAlchemy</a>, Storm, Django ORM</li>
<li><a href="Syst%C3%A8me_de_gestion_de_base_de_donn%C3%A9es" title="Système de gestion de base de données">Système de gestion de base de données</a>&nbsp;: PyGresQL, Psycopg, mysql-connector-python</li></ul></li>
<li>Bibliothèques scientifiques
<ul><li>Calcul&nbsp;: <a href="NumPy" title="NumPy">NumPy</a>, <a href="SciPy" title="SciPy">SciPy</a>, <a href="Pandas" title="Pandas">Pandas</a>, <a href="International_Mathematics_and_Statistics_Library" title="International Mathematics and Statistics Library">PyIMSL Studio</a>, <a href="Sympy" class="mw-redirect" title="Sympy">Sympy</a>, <a href="SageMath" title="SageMath">SageMath</a></li>
<li>Visualisation&nbsp;: pydot, <a href="Matplotlib" title="Matplotlib">Matplotlib</a>, pyngl, MayaVi</li>
<li><a href="Exploration_de_donn%C3%A9es" title="Exploration de données">Exploration de données</a>&nbsp;: <a href="Orange_(logiciel)" title="Orange (logiciel)">Orange 3 Data Mining</a></li>
<li>Simulation&nbsp;: simPy</li>
<li>Chimie&nbsp;: <a href="PyMOL" title="PyMOL">PyMOL</a>, MMTK, <a href="Chimera_(logiciel)" class="mw-redirect" title="Chimera (logiciel)">Chimera</a>, PyQuante</li>
<li>Biologie&nbsp;: Biopython</li></ul></li>
<li>Intelligence artificielle
<ul><li><a href="Apprentissage_automatique" title="Apprentissage automatique">Apprentissage automatique</a>&nbsp;: <a href="Keras" title="Keras">Keras</a>, <a href="PyTorch" title="PyTorch">PyTorch</a>, <a href="TensorFlow" title="TensorFlow">TensorFlow</a></li>
<li><a href="Syst%C3%A8me_expert" title="Système expert">Système expert</a>&nbsp;: pyCLIPS, pyswip, pyDatalog, pyKE («&nbsp;Python Knowledge Engine&nbsp;»)</li>
<li><a href="Traitement_automatique_des_langues" title="Traitement automatique des langues">Traitement automatique des langues</a>&nbsp;: <a href="NLTK" class="mw-redirect" title="NLTK">NLTK</a> («&nbsp;Natural Language Toolkit&nbsp;»), <a href="SpaCy" title="SpaCy">SpaCy</a></li></ul></li>
<li>Outils
<ul><li><a href="Logiciel_utilitaire" title="Logiciel utilitaire">Utilitaire</a>&nbsp;: eGenix, ctype, Askbot</li>
<li><a href="Analyse_syntaxique" title="Analyse syntaxique">Analyseur syntaxique</a>&nbsp;: PyParsing, <a href="PLY_(Python_Lex-Yacc)" title="PLY (Python Lex-Yacc)">PLY</a> («&nbsp;Python Lex &amp; Yacc&nbsp;»)</li>
<li><a href="G%C3%A9n%C3%A9rateur_de_documentation" title="Générateur de documentation">Générateur de documentation</a>&nbsp;: <a href="Sphinx_(g%C3%A9n%C3%A9rateur_de_documentation)" title="Sphinx (générateur de documentation)">Sphinx</a></li></ul></li>
<li>Protocoles
<ul><li>pyTango</li>
<li><a href="S%C3%A9rialisation" title="Sérialisation">Sérialisation</a>&nbsp;: SimpleJSON</li>
<li><a href="Transmission_Control_Protocol" title="Transmission Control Protocol">TCP</a>, <a href="User_Datagram_Protocol" title="User Datagram Protocol">UDP</a>, <a href="Secure_Sockets_Layer" class="mw-redirect" title="Secure Sockets Layer">SSL</a>/<a href="Transport_Layer_Security" title="Transport Layer Security">TLS</a>, <a href="Multicast" title="Multicast">multicast</a>, Unix sockets, <a href="Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a>, <a href="Network_News_Transfer_Protocol" title="Network News Transfer Protocol">NNTP</a>, <a href="Internet_Message_Access_Protocol" title="Internet Message Access Protocol">IMAP</a>, <a href="Secure_Shell" title="Secure Shell">SSH</a>, <a href="Internet_Relay_Chat" title="Internet Relay Chat">IRC</a>, <a href="File_Transfer_Protocol" title="File Transfer Protocol">FTP</a>&nbsp;: <a href="Twisted" title="Twisted">Twisted</a></li></ul></li>
<li>Traitement d'image
<ul><li>Graphisme&nbsp;: <a href="Python_Imaging_Library" title="Python Imaging Library">PIL</a> / «&nbsp;Pillow&nbsp;» <a href="Soya_3D" title="Soya 3D">Soya 3D</a>, Vpython, pymedia, <a href="NodeBox" title="NodeBox">NodeBox</a>, <a href="Mahotas" title="Mahotas">Mahotas</a></li>
<li><a href="Syst%C3%A8me_d'information_g%C3%A9ographique" title="Système d'information géographique">Système d'information géographique</a>&nbsp;: TileCache, FeatureServer, Cartoweb 4, Shapely, GeoDjango, PCL</li>
<li>Vecteur&nbsp;: <a href="GeoJSON" title="GeoJSON">GeoJSON</a>, OWSLib, Quadtree, Rtree, Shapely, WorldMill, ZCO</li>
<li>Jeux&nbsp;: <a href="Pygame" title="Pygame">Pygame</a>, <a href="Panda3D" title="Panda3D">Panda3D</a></li></ul></li>
<li>Web
<ul><li>Développement web&nbsp;: <a href="Bottle_(framework)" title="Bottle (framework)">Bottle</a>, <a href="Django_(framework)" title="Django (framework)">Django</a>, FastAPI&nbsp;<a href="https://en.wikipedia.org/wiki/FastAPI" class="extiw external" title="en:FastAPI"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;FastAPI&nbsp;»">(en)</span></a>, <a href="Flask_(framework)" title="Flask (framework)">Flask</a>, <a href="Zope" title="Zope">Grok</a>, <a href="Jupyter" title="Jupyter">Jupyter</a>, Karrigell, Pylons&nbsp;<a href="https://en.wikipedia.org/wiki/Pylons_project" class="extiw external" title="en:Pylons project"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;Pylons project&nbsp;»">(en)</span></a>, <a href="TurboGears" title="TurboGears">TurboGears</a>, webware</li>
<li><a href="Serveur_HTTP" class="mw-redirect" title="Serveur HTTP">Serveur web</a>, <a href="Syst%C3%A8me_de_gestion_de_contenu" title="Système de gestion de contenu">CMS</a>&nbsp;: <a href="Plone" title="Plone">Plone</a>, <a href="Zope" title="Zope">Zope</a>, <a href="Google_App_Engine" title="Google App Engine">Google App Engine</a>, <a href="CherryPy" title="CherryPy">CherryPy</a>, Wiki MoinMoin&nbsp;<a href="https://en.wikipedia.org/wiki/MoinMoin" class="extiw external" title="en:MoinMoin"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;MoinMoin&nbsp;»">(en)</span></a>, <a href="Django_CMS" title="Django CMS">django CMS</a></li></ul></li></ol>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Pip_(gestionnaire_de_paquets)" title="Pip (gestionnaire de paquets)">Pip</a>&nbsp;: <a href="Gestionnaire_de_paquets" title="Gestionnaire de paquets">gestionnaire de paquets</a> des <a href="Paquet_(logiciel)" title="Paquet (logiciel)">paquets</a> Python.</li>
<li><a href="Cython" title="Cython">Cython</a>&nbsp;: langage permettant d'écrire des modules compilables pour Python.</li>
<li><a href="IPython" title="IPython">IPython</a>&nbsp;: terminal interactif.</li>
<li><a href="RUR-PLE" title="RUR-PLE">RUR-PLE</a>&nbsp;: outil éducatif pour apprendre le Python de façon ludique en pilotant un robot virtuel.</li>
<li><a href="PyPI" class="mw-redirect" title="PyPI">PyPI</a>&nbsp;: dépôt tiers officiel.</li></ul>
<div class="navbox-container" style="clear:both;">



</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des logiciels libres</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la programmation informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-10-13" href="https://fr.wikipedia.org/wiki/?title=Python_(langage)&amp;oldid=229718584">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>